Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
HDFSÈëÃűʼÇ------¼Ü¹¹ÒÔ¼°Ó¦ÓýéÉÜ
 
À´Ô´£ºcsdn ·¢²¼ÓÚ£º 2017-6-28
  2626  次浏览      27
 

ÒýÑÔ¡ªHDFSµÄÖØÒªÐÔ£º

HadoopµÄ¶¨Ò壺ÊʺϴóÊý¾ÝµÄ·Ö²¼Ê½´æ´¢Óë¼ÆËãµÄÒ»¸öƽ̨£¬ÆäÖдóÊý¾ÝµÄ·Ö²¼Ê½´æ´¢¾ÍÊÇÓÉHDFSÀ´Íê³ÉµÄ£¬Òò´ËÕÆÎÕºÃHDFSµÄÏà¹Ø¸ÅÄîÓëÓ¦Ó÷dz£ÖØÒª£¡

±¾Æª²©¿Í½«´ÓÒÔϼ¸¸ö·½Ãæ½²ÊöHDFS£º

1¡¢·Ö²¼Ê½ÎļþϵͳÓëHDFS

2¡¢HDFSµÄÌåϵ½á¹¹

3¡¢HDFS¡ª-NameNodeÏà¹Ø¸ÅÄî

4¡¢HDFS¡ª-DataNodeÏà¹Ø¸ÅÄî

5¡¢HDFS¡ª-block¿éÏà¹Ø¸ÅÄî

6¡¢HDFS¡ª-¸±±¾ÊýÏà¹Ø¸ÅÄî

7¡¢HDFSµÄ¾ßÌå²Ù×÷·½Ê½

£¨Ò»£©·Ö²¼Ê½ÎļþϵͳÓëHDFS

¢Ù·Ö²¼Ê½ÎļþϵͳDFSµÄÓÉÀ´£º

Ëæ×ÅÎÒÃǵÄÊý¾ÝÁ¿Ô½À´Ô½´ó,ÔÚÒ»¸ö²Ù×÷ϵͳÖдæ·ÅÊý¾Ý¾Í·Å²»ÏÂÁË,Òò´ËÈç¹ûÊý¾ÝÔÚһ̨µçÄÔÉϷŲ»ÏÂÖ»Äܷŵ½ÁíÍâһ̨µçÄÔÉÏ,´ËʱÎÊÌâ¾ÍÓÐÁË:Èç¹û°ÑÊý¾Ý·ÖÉ¢µ½¶ą̀µçÄÔÉϵϰ,ÎÒÃǶÔÊý¾ÝµÄ¹ÜÀíÒ²¾Í±äµÃÔ½À´Ô½Âé·³ÁË£¬Õâ¸öÎÊÌâÈçºÎ½â¾ö£¿

ÆÚ´ýÒ»¸ö¹ÜÀíϵͳÄܹ»ÈÃÎÒÃÇÎÞ·ìµÄ¹ÜÀí¶ą̀²Ù×÷ϵͳÉÏÃæµÄÊý¾Ý,ÔÚ²Ù×÷¶ą̀µçÄÔÉÏÊý¾ÝµÄʱºò,¾ÍºÃÏñÊÇÔÚһ̨µçÄÔÉϲÙ×÷Ò»Ñù,Õâ¾ÍÊÇ·Ö²¼Ê½ÎļþϵͳµÄÓÉÀ´¡£

¢Ú·Ö²¼Ê½ÎļþϵͳµÄÓŵ㣺

1¡¢ÊÇÒ»ÖÖÔÊÐíÎļþͨ¹ýÍøÂçÔÚ¶ą̀Ö÷»úÉÏ·ÖÏíµÄÎļþϵͳ£¬¿ÉÒÔÈöą̀»úÆ÷ÉϵĶ໧»§·ÖÏíÎļþºÍ´æ´¢¿Õ¼ä¡£

2¡¢Í¨Í¸ÐÔ£ºÈÃʵ¼ÊÉÏÊÇͨ¹ýÍøÂçÀ´·ÃÎÊÎļþµÄ¶¯×÷£¬ÓɳÌÐòÓëÓû§¿´À´£¬¾ÍÏñÊÇ·ÃÎʱ¾µØ´ÅÅÌÒ»Ñù¡£

3¡¢ÈÝ´í£º¼´Ê¹ÏµÍ³ÖÐÓÐijЩ½Úµã¹Òµô£¬ÕûÌåÀ´ËµÏµÍ³ÈÔÈ»¿ÉÒÔ¼ÌÐøÔË×÷¶ø²»»áÓÐÊý¾ÝµÄ¶ªÊ§¡£

·Ö²¼Ê½Îļþ¹ÜÀíϵͳÓкܶ࣬HDFSÖ»ÊÇÆäÖеÄÒ»ÖÖ¡£ÊʺÏÓÚÒ»´ÎдÈë¶à´Î²éѯµÄµÄÇé¿ö£¬²»Ö§³Ö²¢·¢Ð´Çé¿ö£¬Ð¡Îļþ²»ºÏÊÊ¡£

Ò»¾ä»°ÃèÊöHDFS£º°Ñ¿Í»§¶ËµÄ´óÎļþ´æ·ÅÔںܶà½Úµã(·þÎñÆ÷)µÄÊý¾Ý¿éÖС£

£¨¶þ£©HDFSµÄÌåϵ½á¹¹

HDFSµÄÌåϵ½á¹¹ÊÇÒ»¸öÖ÷´Ó½á¹¹,Ö÷½ÚµãNamenodeÖ»ÓÐÒ»¸ö,´Ó½ÚµãDatanodeÓкܶà¸ö.Ö÷½ÚµãNamenodeÓë´Ó½ÚµãDatanodeʵ¼ÊÉÏÖ¸µÄÊDz»Í¬µÄÎïÀí»úÆ÷,¼´ÓÐÒ»¸ö»úÆ÷ÅܵĽø³ÌÊÇNamenode.ºÜ¶à»úÆ÷ÉÏÅܵĽø³ÌÊÇDatanode¡£

HDFSÌåϵ½á¹¹¡ª¡ªNameNode

´ÓÉÏÃæµÄÔ´Âë¿ÉÒÔ¿´³ö£¬ÔÚÈκηֲ¼Ê½ÎļþϵͳµÄ²¿Êðµ±ÖÐÖ»´æÔÚÒ»¸öÔËÐеÄNameNode£¬³ý·Ç´æÔÚµÚ¶þ¸ö±¸·Ý»ò¹ÊÕÏ×ªÒÆNameNode¡£

NameNodeÖØÒªÐÔ£º

1>Namenode¸ºÔð½ÓÊÕÓû§µÄ²Ù×÷ÇëÇó,ÊÇÕû¸öÎļþϵͳµÄ¹ÜÀí½Úµã

2>ά»¤×ÅÕû¸öÎļþϵͳµÄĿ¼½á¹¹£¬ËùνĿ¼½á¹¹ÀàËÆÓÚwindowsÎļþ¼ÐµÄÌåϵ½á¹¹

3>»¹±£¹Ü×ÅÎÒÃÇÎļþ»òĿ¼µÄÔªÊý¾ÝÐÅÏ¢(metadata),ËùνԪÊý¾ÝÐÅÏ¢Ö¸µÄÊdzýÁËÊý¾Ý±¾ÉíÖ®ÍâÉæ¼°µ½Îļþ×ÔÉíµÄÏà¹ØÐÅÏ¢:ÐÞ¸Äʱ¼ä¡¢´óС¡¢·ÃÎÊȨÏÞ¡¢¸±±¾ÊýµÈµÈ

ÃüÁdu -sh *

4>ÖªµÀÎļþÓëblock¿éÐòÁÐÖ®¼äµÄ¶ÔÓ¦¹ØÏµ¡¢¸ºÔð¼Ç¼ÎļþÊÇÈçºÎ±»·Ö¸î³ÉÊý¾Ý¿éµÄ,ÒÔ¼°ÕâЩÊý¾Ý¿é·Ö±ð´æ´¢µ½ÄÄЩ½ÚµãÉϵÈ.

×ܽáÀ´Ëµ£ºNameNode¾ÍÊǸºÔð¹ÜÀí¹¤×÷µÄ¡£

NameNodeºËÐÄÔ´Âë·ÖÎö£º

ͨ¹ýÔ´Âë¿ÉÒÔ·¢ÏÖ£ºNameNodeÕâ¸ö½Úµã¹ÜÀí×ÅÁ½ÕźËÐÄµÄ±í£¬µÚÒ»Õűí¹ÜÀí×ÅÎļþÓëblock¿éÐòÁÐÖ®¼äµÄ¶ÔÓ¦¹ØÏµ£¬µÚ¶þÕűí¹ÜÀí×Åblock¿éÓëDataNode½ÚµãÖ®¼äµÄ¶ÔÓ¦¹ØÏµ¡£

ÆäÖÐǰһÕűíÊǾ²Ì¬µÄ£¬ÊÇ´æ·ÅÔÚ´ÅÅÌÉϵģ¬Í¨¹ýfsimageºÍeditsÎļþÀ´Î¬»¤£¬ºóÒ»ÕűíÊǶ¯Ì¬µÄ£¬Ã¿µ±¼¯ÈºÆô¶¯µÄʱºò»á×Ô¶¯½¨Á¢Õâ¸öÐÅÏ¢¡£

ÏÂÃæÍ¨¹ýÒ»¸ö¾ßÌåµÄʵÀý²ûÊö¾ßÌ庬Ò壺

´ËʱNameNodeµÄÁ½ÕźËÐıíÖн«¼ÇÔØ×ÅÈçÏÂÐÅÏ¢£º

¼´µÚÒ»ÕűíÖйÜÀí×ÅÎļþÓëblock¿éÐòÁÐÖ®¼äµÄ¶ÔÓ¦¹ØÏµ£¬µÚ¶þÕűíÖйÜÀí×Åblock¿éÓëDataNode½ÚµãÖ®¼äµÄ¶ÔÓ¦¹ØÏµ¡£

fsimageÓëedits´æ·ÅµÄ·¾¶£º

HDFSÌåϵ½á¹¹¡ª¨CSecondaryNameNode

SecondaryNameNodeµÄÖØÒªÐÔ£º

Secondnamenode×÷ΪÀ϶þ,Ö»×öÒ»¼þÊÂÇé:ºÏ²¢NamenodeÖеÄfsimage+edits

NamenodeÓëSecondnamenode±¾ÉíÊÇÁ½¸ö¶ÀÁ¢µÄJava½ø³Ì,ËüÃÇÖ®¼äÊý¾ÝµÄ½»»»ÊÇͨ¹ýÍøÂçhttp×ßµÄ.

ºÏ²¢µÄÖ´Ðйý³Ì:Secondnamenode»áÏȰÑNamenodeÖеÄfsimage+editsÕâЩԪÊý¾ÝÏÈ¿½±´µ½×Ô¼º½ø³ÌµÄÄÇÒ»¿é.È»ºó½«fsimageÓëedits½øÐкϲ¢,Éú³ÉеÄfsimage£¬Ëæºó½«ÐµÄfsimageËͻص½NamenodeÖÐ.Í¬Ê±ÖØÖÃNamenodeÖеÄedits.¼´½«Ô­À´µÄeditsÖеÄÊý¾ÝÇå¿Õ¡£

HDFSÌåϵ½á¹¹¡ª¡ªDataNode

DataNodeÖØÒªÐÔ

1>DatanodeÖ»×öÒ»¼þÊÂÇé:´æ´¢Êý¾Ý£¬HDFSÖ®ËùÒÔ¿ÉÒÔ´æ´¢º£Á¿Êý¾Ýʵ¼ÊÉÏÖ¸µÄÊÇDatanodeÕâ¸ö½Úµã¿ÉÒÔ½øÐÐÀ©Õ¹.

2>DatanodeÊÇÒÔblock¿éµÄ·½Ê½À´´æ´¢Êý¾ÝµÄ.ÕâÒ»µã²»Í¬ÓÚÎÒÃǵÄwindows²Ù×÷ϵͳ£¬HDFSÖеÄÎļþÊDZ»ÇгÉblock¿éÀ´½øÐд洢µÄ¡£Ö®ËùÒÔ½«ÎļþÇзֳÉС¿éÀ´½øÐд洢,Ò²ÊÇΪÁ˱ãÓÚά»¤Óë¹ÜÀí.Ϊ±£Ö¤Êý¾Ý°²È«,block¿é»áÓжà¸ö¸±±¾£¬²¢ÇÒÕâЩ¸±±¾»á±»´æ´¢µ½²»Í¬µÄ»úÆ÷ÉÏÃæ¡£

DataNodeÖеÄblock¿éµ½µ×ÊÇ´æ·Åµ½ÄÄÀïÄØ£¿ÎÒÃÇ¿ÉÒÔͨ¹ýÅäÖÃÎļþhdfs-default.xml½øÐв鿴£º

ÆäÖвÎÊýdfs.data.dirµÄÊýÖµ¾ÍÊÇblock¿é´æ·ÅÔÚLinuxÎļþϵͳÖеÄλÖ㬲ÎÊý${hadoop.tmp.dir}µÄÊýÖµÎÒÃÇ×Ô¼º¿ÉÒÔ½øÐÐÅäÖã¬ÎÒÅäÖõÄ·¾¶Îª£º/usr/local/hadoop/tmp,Òò´Ëblock¿é´æ·ÅµÄ¾ßÌå·¾¶ÊÇ£º

/usr/local/hadoop/tmp/dfs/data.Òò´Ëͨ¹ýlinuxÃüÁîÎÒÃÇ¿ÉÒÔ¶ÔÊý¾Ý¿é½øÐÐÏàÓ¦µÄ²é¿´£º

˼¿¼£º¼ÈÈ»½«Êý¾Ýͨ¹ýlinuxÉÏ´«µ½HDFSÖ®ºó,Datanode×îÖÕ»¹ÊǰÑÊý¾Ý·Åµ½ÁËlinuxÎļþϵͳµÄĿ¼ÏÂ,Ϊʲô²»Ö±½Ó½«Êý¾Ý·Åµ½/usr/local/hadoop/tmp/dfs/dataÕâ¸öĿ¼ÏÂÃæ?

1>»»½Ç¶È˼¿¼£ºÊý¾Ý¿âOracleÊÇ´æ´¢Êý¾ÝµÄ,¾ÍºÃÏñHDFSÒ²ÊÇ´æ´¢Êý¾ÝµÄÒ»Ñù,µ«ÊÇÊý¾Ý¿âµÄÊý¾Ý×îÖÕ»¹ÊÇ´æ·ÅÔÚÁËwindowsÉÏÃæ.ÎÒÃÇÖ®ËùÒÔʹÓÃÊý¾Ý¿â½ö½öÊÇΪÁ˽â¾öÊý¾ÝÁìÓòÖеÄÒ»¸öÎÊÌâ:²éѯ£¬¶øHDFSºÍÊý¾Ý¿âÒ»Ñù,Ò²½ö½öÊÇΪÁ˽â¾öÊý¾ÝÁìÓòÖеÄÒ»¸öÎÊÌâ:º£Á¿Êý¾ÝµÄ´æ´¢

2>Èç¹ûÖ±½Óͨ¹ýÊÖ¹¤½«Êý¾ÝÉÏ´«µ½DatanodeÖдæ·ÅÊý¾ÝµÄÄǸöĿ¼ÏÂÃæ,ÄÇôͨ¹ýhadoop fs -ls /Õâ¸öÃüÁîÊDz鲻µ½Õâ¸öÎļþµÄ.ÒòΪÈôÊÖ¹¤ÉÏ´«,NamenodeÊDz»ÖªµÀµÄ,¼´ÊÖ¹¤ÉÏ´«µÄÊý¾ÝHDFSÊDz»ÈϵÄ.

HDFS¡ª¡ªblockÏà¹Ø¸ÅÄî

block¿éÊÇHDFS×î»ù±¾µÄ´æ´¢µ¥Î»£¬HDFS»á½«ÎļþÇзֳÉblock¿éÀ´½øÐд洢£¬Ä¬ÈϵÄblock¿é´óСÊÇ64M£¬ÒÔÒ»¸ö256MÎļþ´óСΪÀý£¬¹²»á±»ÇзֳÉ256/64=4¸öblock

block¿éµÄĬÈÏ´óС£º

<property>
<name>dfs.block.size</name>
<value>67108864</value>
<description>The default block size for new files.</description>
</property>

HDFS¡ª-¸±±¾ÊýÏà¹Ø¸ÅÄî

ÔÚHDFS´æ´¢Êý¾ÝʱΪÁËÈ·±£Êý¾ÝµÄ°²È«ÐÔ£¬ÒýÈëÁ˸±±¾µÄ»úÖÆ£¬Ä¬Èϵĸ±±¾ÊýΪ3,ÎÒÃÇÔÚÅäÖÃÎļþhdfs-defaule.xmlÖпÉÒÔ½øÐв鿴£º

µ±È»¸±±¾µÄÊýÁ¿ÎÒÃÇ¿ÉÒÔÔÚhdfs-site.xmlÖнøÐÐÐ޸ĵģº

ÏÂÃæÎÒÃÇͨ¹ýÒ»¸ö¾ßÌåµÄʵÀý²ûÊöHDFS´æ´¢Ô­Àí£º

1¡¢¼ÙÉèij¸öÓû§ÒªÉÏ´«Ò»¸ö´óСÊÇ192MµÄÎļþ,Ê×ÏÈNameNode½«»á½ÓÊÕµ½Óû§ÉÏ´«Êý¾ÝµÄÇëÇó£º

2¡¢Ëæºó192MµÄÕû¸öÎļþ½«»á±»ÇгÉ3¸öblock¿é·Ö±ð´æ´¢ÔÚ3̨²»Í¬µÄ»úÆ÷ÉÏ£¬¼´DataNodeÉÏÃæ¡£Óë´ËͬʱNameNode½«»á¼Ç¼ÕâЩÊý¾Ý¿é´æ´¢µ½ÄÄЩDatanodeÉÏÃæ¡¢ÎļþÓëblockÐòÁÐÖ®¼äµÄ¶ÔÓ¦¹ØÏµµÈµÈ¡£

3¡¢È»ºóHDFSÔÚ½ÚµãÖ®¼ä¸´ÖÆÕâЩÊý¾Ý¿é£¬×îºóÕâÈý¿éÔÚ¶à¸ö½ÚµãÖзֲ¼ÈçÏ£ºÃ¿Ò»¸öblock¿é±»¿½±´³ÉÁË3¸ö¸±±¾£¬±£Ö¤ÁËÊý¾ÝµÄ°²È«ÐÔ¡£

ÕýÈçÉÏÃæÊµÀýËùʾ£º

1>NameNode¼ÇÔØ×ÅÎļþÓëblockÐòÁÐÖ®¼äµÄ¶ÔÓ¦¹ØÏµ¡¢¼Ç¼×Åblock¿é´æ´¢ÔÚÄÄЩ½ÚµãÉϵȵÈ

2>DataNode¾ÍÊÇ´æ´¢Êý¾ÝµÄ£¬¼´block¿éµÄ

3>¸±±¾»úÖÆÈ·±£ÁËÊý¾ÝµÄ°²È«ÐÔ

£¨Èý£©HDFSµÄ²Ù×÷·½Ê½

HDFSµÄ¾ßÌå²Ù×÷·½Ê½£ºshell²Ù×÷ÓëJavaApi²Ù×÷Á½ÖÖ·½Ê½

shell²Ù×÷£º

hadoop fs ¡¡-ls¡¡ / £º²é¿´HDFSµÄĿ¼½á¹¹

hadoop fs ¡¡-lsr / £ºµÝ¹é²é¿´HDFSµÄĿ¼½á¹¹

hadoop fs -mkdir /d1 ¡¡£ºÔÚHDFSÉÏÃæ´´½¨Îļþ¼Ð

hadoop fs -put¡¡¡¡¡¡ £ºÉÏ´«Êý¾ÝÎļþ

hadoop fs ¡¡-get £ºÏÂÔØÊý¾ÝÎļþ

hadoop fs -rmr £ºÉ¾³ýHDFSÖеÄÎļþ¼Ð»òÕßÎļþ

JavaApi²Ù×÷£º

JavaApi¶ÔHDFSµÄ²Ù×÷Ö»Òª»òµÃÒ»¸öfileSystem¶ÔÏó¾Í¿ÉÒÔÁË¡£

FileSystem fileSystem = FileSystem.get(new URI(path0) , new Configuration());

ͨ¹ýFileSystemÓû§¿ÉÒÔÓëNameNode½øÐÐͨÐÅ¡£

   
2626 ´Îä¯ÀÀ       27
Ïà¹ØÎÄÕÂ

»ùÓÚEAµÄÊý¾Ý¿â½¨Ä£
Êý¾ÝÁ÷½¨Ä££¨EAÖ¸ÄÏ£©
¡°Êý¾Ýºþ¡±£º¸ÅÄî¡¢ÌØÕ÷¡¢¼Ü¹¹Óë°¸Àý
ÔÚÏßÉ̳ÇÊý¾Ý¿âϵͳÉè¼Æ ˼·+Ч¹û
 
Ïà¹ØÎĵµ

GreenplumÊý¾Ý¿â»ù´¡Åàѵ
MySQL5.1ÐÔÄÜÓÅ»¯·½°¸
ijµçÉÌÊý¾ÝÖÐ̨¼Ü¹¹Êµ¼ù
MySQL¸ßÀ©Õ¹¼Ü¹¹Éè¼Æ
Ïà¹Ø¿Î³Ì

Êý¾ÝÖÎÀí¡¢Êý¾Ý¼Ü¹¹¼°Êý¾Ý±ê×¼
MongoDBʵս¿Î³Ì
²¢·¢¡¢´óÈÝÁ¿¡¢¸ßÐÔÄÜÊý¾Ý¿âÉè¼ÆÓëÓÅ»¯
PostgreSQLÊý¾Ý¿âʵսÅàѵ