±à¼ÍƼö: |
±¾ÎÄÀ´×ÔÓÚbradhedlund.com£¬ÕâÆªÎÄÕ½«»áÖð²½½éÉÜ
Hadoop ¼¯ÈºµÄʵÏÖÔÀíÒÔ¼°Hadoop¼¯ÈºµÄÍØÆË½á¹¹¡£
|
|
ÎÄÕÂÈôó¼Òͨ¹ýÍØÆËͼµÄÐÎʽֱ¹ÛµÄÁ˽â Hadoop ¼¯ÈºÊÇÈçºÎ´î½¨¡¢ÔËÐÐÒÔ¼°¸÷¸ö½ÚµãÖ®¼äÈçºÎÏ໥µ÷Óá¢Ã¿¸ö½ÚµãÊÇÈçºÎ¹¤×÷ÒÔ¼°¸÷¸ö½ÚµãµÄ×÷ÓÃÊÇʲô¡£Ã÷°×ÕâÒ»µã½«»á¶Ôѧϰ
Hadoop ÓкܴóµÄ°ïÖú¡£Ê×ÏÈ£¬ÎÒÃÇ¿ªÊ¼Á˽â Hadoop µÄ»ù´¡ÖªÊ¶£¬ÒÔ¼° Hadoop ¼¯ÈºµÄ¹¤×÷ÔÀí¡£

ÔÚHadoop²¿ÊðÖУ¬ÓÐÈýÖÖ·þÎñÆ÷½ÇÉ«£¬ËûÃÇ·Ö±ðÊǿͻ§¶Ë¡¢Masters½ÚµãÒÔ¼°Slave ½Úµã¡£Master
½Úµã£¬Masters ½ÚµãÓÖ³ÆÖ÷½Úµã£¬Ö÷½Úµã¸ºÔð¼à¿ØÁ½¸öºËÐŦÄÜ£º´óÊý¾Ý´æ´¢£¨HDFS£©ÒÔ¼°Êý¾Ý²¢ÐмÆË㣨Map
Reduce£©¡£ÆäÖУ¬Name Node ¸ºÔð¼à¿ØÒÔ¼°Ðµ÷Êý¾Ý´æ´¢£¨HDFS£©µÄ¹¤×÷£¬Job Tracker
Ôò¸ºÔð¼à¶½ÒÔ¼°Ðµ÷ Map Reduce µÄ²¢ÐмÆËã¡£ ¶øSlave ½ÚµãÔò¸ºÔð¾ßÌåµÄ¹¤×÷ÒÔ¼°Êý¾Ý´æ´¢¡£Ã¿¸ö
Slave ÔËÐÐÒ»¸ö Data Node ºÍÒ»¸ö Task Tracker ÊØ»¤½ø³Ì¡£ÕâÁ½¸öÊØ»¤½ø³Ì¸ºÔðÓë
Master ½ÚµãͨÐÅ¡£Task Tracker ÊØ»¤½ø³ÌÓë Job Tracker Ï໥×÷Ó㬶ø
Data Node ÊØ»¤½ø³ÌÔòÓë Name Node Ï໥×÷Óá£
ËùÓеļ¯ÈºÅäÖö¼»á´æÔÚÓÚ¿Í»§¶Ë·þÎñÆ÷£¬µ«Êǿͻ§¶Ë·þÎñÆ÷²»ÊôÓÚ Master ÒÔ¼° Salve£¬¿Í»§¶Ë·þÎñÆ÷½ö½ö¸ºÔðÌá½»¼ÆËãÈÎÎñ¸ø
Hadoop ¼¯Èº£¬²¢µ± Hadoop ¼¯ÈºÍê³ÉÈÎÎñºó£¬¿Í»§¶Ë·þÎñÆ÷À´ÄÃ×ß¼ÆËã½á¹û¡£ÔÚÒ»¸ö½ÏСµÄ¼¯ÈºÖУ¨40¸ö½Úµã×óÓÒ£©£¬¿ÉÄÜһ̨·þÎñÆ÷»á°çÑݶà¸ö½ÇÉ«£¬ÀýÈçͨ³£ÎÒÃǻὫ
Name Node Óë Job Tracker°²ÖÃÔÚͬһ̨·þÎñÆ÷ÉÏ¡££¨ÓÉÓÚ Name Node¶ÔÄڴ濪Ïú·Ç³£´ó£¬Òò´Ë²»Ô޳ɽ«
Name Node Óë Secondary Name Node °²ÖÃÔÚͬһ̨»úÆ÷ÉÏ£©¡£¶øÔÚÒ»¸ö´óÐ͵ļ¯ÈºÖУ¬ÇëÎÞÂÛÈçºÎÒª±£Ö¤ÕâÈýÕß·ÖÊôÓÚ²»Í¬µÄ»úÆ÷¡£
ÔÚÕæÊµµÄ¼¯Èº»·¾³ÖУ¬Hadoop ×îºÃÔËÐÐÔÚ Linux ·þÎñÆ÷ÉÏ¡£µ±È»£¬Hadoop Ò²¿ÉÒÔÔËÐÐÔÚÐéÄâ»úÖУ¬µ«ÊÇ£¬Õâ½ö½öÊÇÓÃÀ´Ñ§Ï°µÄÒ»ÖÖ·½·¨£¬¶ø²»Äܽ«ÆäÓÃÔÚÉú²ú»·¾³ÖС£

ÉÏͼÊÇÒ»¸öµäÐ굀 Hadoop ¼¯Èº¼Ü¹¹¡£ÕâÕÅͼÖУ¬Hadoop ¼¯ÈºÒÔ»ú¼ÜΪµ¥Î»´æÔÚ£¨¶ø²»Êǵ¶Æ¬»ú£©£¬¶øÃ¿¸ö»ú¼Ü¶¥²¿¶¼»áÓÐÒ»¸ö½»»»»úͨ¹ýǧÕ×ÍøÓëÍⲿ¹ØÁª£¬Èç¹ûÄãµÄ·þÎñÆ÷±È½Ï¸øÁ¦£¬ÇëÈ·±£´ø¿í×ã¹»Êý¾ÝµÄ´«ÊäÒÔÃâ´ø¿íÓ°ÏìÔËË㣨ÀýÈçÍòÕ×ÒÔÌ«Íø£©¡£ÎÒÃÇͨ¹ýÉÏÐÐÁ´Â·½«ËùÓеĻú¼ÜÁ´½ÓÔÚÒ»ÆðÐγÉÒ»¸ö¼¯Èº¡£ÔÚÒ»¸ö»ú¼ÜÖУ¬ÓÐЩ·þÎñÆ÷×÷Ϊ
Master ½Úµã£¬ÀýÈç Name NodeµÈµÈ£¬¶ø¸ü¶àµÄÔòÊÇ Slave Node¡£
µ½ÕâÀÎÒÃÇûÓÐÌÖÂÛ¸ü¼ÓÏêϸµÄÉè¼Æ·½°¸£¬ÎÒÃÇÔÝÇÒ·ÅÔÚÒ»±ß£¬ÏÂÃæ¿ªÊ¼¿´¿´³ÌÐòÊÇÈçºÎÔËÐеġ£
´Ó¼¯ÈºÖмÓÔØÊý¾Ý£¨HDFS writes£©
·ÖÎöÊý¾Ý£¨Map Reduce£©
ÔÚ¼¯ÈºÖÐΪ½á¹ûÅÅÐò£¨HDFS writes£©
´Ó¼¯ÈºÔËËãÖжÁÈ¡½á¹û£¨HDFS reads£©
Ó¦Óó¡¾°£º
ÿÌì¶¼Óк£Á¿µÄÓʼþ±»¿Í·þÊÕµ½£¬µ«ÊÇÎÒÔõô²ÅÄÜÖªµÀÕâЩÓʼþÖо¿¾¹ÓжàÉÙÓʼþ°üº¬ÁË¡°Í˿Õâ¸ö´Ê£¿
Hadoop µÄ´æÔÚ¼ÛÖµÊÇʲô£¿Hadoop ½â¾öµÄÊÇÄÄЩÎÊÌ⣿¼òµ¥À´½²£¬´óÐÍÆóÒµºÍÕþ¸®¶¼¿ÉÄÜ»á°üº¬ÓдóÁ¿Êý¾Ý,
£¨ÎÒÃÇ¿ÉÒÔ¿´×öÊÇÒ»¿é¾Þ´óµÄ¶¹¸¯£©ÀýÈçÂí·¿¨¿Ú¼à¿ØÊÓÆµÅÄÉãµÄ»ú¶¯³µºÅÅÆ£¬ÎÒÃÇÈç¹ûÒª¶ÔÈç´Ëº£Á¿µÄÊý¾Ý½øÐи´ÔӵķÖÎö£¬»¹Òª·Ç³£¿ìËٵĵõ½½á¹û£¬Èç¹ûʹÓÃһ̨¼ÆËã»ú£¬¸ù±¾ÎÞ·¨Ê¤ÈÎÕâ¸ö¹¤×÷¡£Èç¹ûÄܽ«Õâ¸öÅÓÈ»´óÎï·Ö¸î³ÉÐí¶àСµÄÊý¾Ý¿é£¬²¢½«Æä·Ö·¢¸øÐíÐí¶à¶àµÄ·þÎñÆ÷À´Ðͬ¼ÆË㣬ÄÇôÕâ¸öЧÂÊ×ÔÈ»ÊǺܿìµÄ£¬ËùÒÔ£¬Hadoop
µÄ´æÔÚ¼ÛÖµ¾ÍÌåÏÖÔÚÕâÀï¡£
ÀýÈçÉÏÃæÄǸöÓʼþµÄÀý×Ó£¬¾¹ýÈÕ»ýÔÂÀÛ£¬ÎÒÃǵķþÎñÆ÷´æÓдóÁ¿µÄÓʼþ£¬ÎÒÃÇ¿ÉÒÔ½«ÕâЩÓʼþ´ò°ü³ÉÎı¾·¢Ë͸øHadoop
¼¯Èº£¬Ö»ÐèÒª±àдһ¸ö¼òµ¥µÄ¼ÆËãµ¥´ÊÁ¿µÄº¯Êý£¬²¢Ìá½»¸ø¼¯Èº£¬¼¯ÈºÍ¨¹ýÏ໥е÷£¬ÔÚ¶Ìʱ¼äÄÚ¼ÆËãÍê±ÏÖ®ºó·µ»ØÒ»¸ö½á¹û¡£ÎҾͿÉÒԵõ½ÎÒÏëÒªµÄ½á¹ûÁË¡£ 
Hadoop ¼¯ÈºÓÐÁËÊý¾ÝÖ®ºó£¬±ã¿ªÊ¼¹¤×÷¡£ÎÒÃÇÔڴ˵ÄÄ¿µÄÊÇ´óÁ¿Êý¾ÝµÄ¿ìËÙ²¢Ðд¦Àí£¬ÎªÁËʵÏÖÕâ¸öÄ¿±ê£¬ÎÒÃÇÓ¦µ±ÀûÓþ¡¿ÉÄܶàµÄ»úÆ÷£¬Îª´Ë£¬¿Í»§¶ËÐèÒª½«Êý¾Ý·Ö¼ð·Ö³É½ÏСµÄ¿é£¬È»ºó½«ÕâЩ¿ìÔÚ¼¯ÈºÖв»Í¬µÄ»úÆ÷Éϲ¢ÐмÆËã¡£µ«ÊÇ£¬ÕâЩ·þÎñÆ÷ÖеÄijЩ·þÎñÆ÷¿ÉÄÜ»á³öÏÖ¹ÊÕÏ£¬Òò´Ë£¬Ó¦µ±½«Ã¿¸öÊý¾Ý¿é×ö¼¸´Î¿½±´£¬ÒÔÈ·±£Êý¾Ý²»»á±»¶ªÊ§¡£Ä¬ÈϵĿ½±´´ÎÊýÊÇ3´Î£¬µ«ÊÇÎÒÃÇ¿ÉÒÔͨ¹ý
hdfs-site.xml ÅäÖÃÎļþÖÐ dfs.replication Õâ¸ö²ÎÊýÀ´¿ØÖÆ¿½±´´ÎÊý¡£
¿Í»§¶Ë½« File.txt Çиî³ÉÈý¿é£¬²¢ÓëName Nodeе÷£¬Name Node¸æÖª¿Í»§¶Ë½«ÕâЩÊý¾Ý·Ö·¢µ½ÄÄЩ
Data Node ÉÏ£¬ÊÕµ½Êý¾Ý¿éµÄ Data Node ½«»á¶ÔÊÕµ½µÄÊý¾Ý¿é×ö¼¸´Î¸´ÖÆ·Ö·¢¸øÆäËûµÄ
Data Node ÈÃÆäËûµÄ Data Node Ò²À´¼ÆËãͬÑùµÄÊý¾Ý£¨È·±£Êý¾ÝÍêÕûÐÔ£©¡£´Ëʱ£¬Name
Node µÄ×÷Óýö½öÊǸºÔð¹ÜÀíÊý¾Ý£¬ÀýÈ磺ÄÄЩÊý¾Ý¿éÕýÔÚÄĸöData NodeÉϼÆË㣬ÒÔ¼°ÕâЩÊý¾Ý½«»áÔËÐе½ÄÄÀï¡££¨ÎļþϵͳµÄÔªÊý¾ÝÐÅÏ¢£© 
Hadoop ÓС°»ú¼ÜÒâʶ¡±µÄ¸ÅÄ×÷Ϊ Hadoop µÄ¹ÜÀíÕߣ¬Äã¿ÉÒÔÊÖ¶¯µÄÔÚÄãµÄ¼¯ÈºÖÐΪÿһ¸öSlave
Data Node¶¨Òå»ú¼ÜºÅ¡£Äã¿ÉÄÜ»áÎÊ£¬ÎÒΪʲôҪ×öÕâ¸ö¹¤×÷£¿ÕâÀïÓÐÁ½¸ö¹Ø¼üµã£ºÊý¾Ý¶ªÊ§·À»¤ÒÔ¼°ÍøÂçÐÔÄÜ¡£
¼Çס£¬Ã¿Ò»¸öÊý¾Ý¿é½«»á±»¸´ÖƵ½¶à̬·þÎñÆ÷ÉÏÒÔÈ·±£Êý¾Ý²»»áÒòij¸ö·þÎñÆ÷µÄå´»ú¶øÔì³ÉÊý¾Ý¶ªÊ§£¬µ«ÊÇÈç¹û²»ÐÒµÄÊÇ£¬ËùÓеĿ½±´¶¼´æ·ÅÓÚһ̨»ú¼ÜÉÏ£¬¶øÕâ¸ö»ú¼ÜÓÉÓÚÖÖÖÖÔÒòÔì³ÉÁËÕû¸ö»ú¼ÜÓëÍⲿ¶Ï¿ªÁ¬½Ó»òÕûÌåå´»ú¡£ÀýÈçÒ»¸öÑÏÖØµÄ´íÎ󣺽»»»»úË𻵡£Òò´Ë£¬ÎªÁ˱ÜÃâÕâÖÖÇé¿öµÄ·¢Éú£¬ÐèÒªÓÐÈËÖªµÀÿһ¸ö
Data Node ÔÚÕû¸öÍøÂçÍØÆËͼÖеÄλÖ㬲¢ÖÇÄܵĽ«Êý¾Ý·ÖÅäµ½²»Í¬µÄ»ú¼ÜÖС£Õâ¸ö¾ÍÊÇ Name
Node µÄ×÷ÓÃËùÔÚ¡£
»¹ÓÐÒ»ÖÖ¼ÙÉ裬¼´Á½Ì¨»úÆ÷ÔÚͬһ¸ö»ú¼ÜºÍ·ÖÊôÓÚ²»Í¬µÄ»ú¼Ü±ÈÆðÀ´ÓиüºÃµÄ´ø¿íºÍ¸üµÍµÄÑÓ³Ù¡£»ú¼Ü½»»»»úÉÏÐÐÁ´Â·´ø¿íͨ³£±ÈÏÂÐдø¿í¸üÉÙ£¬´ËÍ⣬ÔÚ»ú¼ÜÄÚÑÓ³Ùͨ³£±È»ú¼ÜÍâµÄÑÓ³ÙÒªµ×¡£Èç¹û
Hadoop ÓÐÁËÏàͬ»ú¼ÜÓÅ»¯µÄÒâʶ£¨Ìá¸ßÍøÂçÐÔÄÜ£©£¬Í¬Ê±Äܹ»±£»¤Êý¾Ý£¬Õâ²»ÊǺܿáÂ𣿠
ÕâÀïµÄ¿Í»§¶ËÒѾ׼±¸ºÃ½« FILE.txt ·Ö³ÉÈý¿éÌí¼Óµ½¼¯ÈºÖС£¿Í»§¶Ë»áÏȸæËß Name Node
Ëü½«Òª°ÑÊý¾ÝдÈëµ½¼¯ÈºÖУ¬´Ó Name Node´¦µÃµ½ÔÊÐíºó£¬²¢Êܵ½ Name Node ΪÆä·ÖÅäµÄ
Data Node Çåµ¥£¬Name Node·ÖÅä Data Node µÄʱºò»áÓÐÒ»¸öÖÇÄܾö²ßµÄ²½Ö裬ÒÔĬÈϵĿ½±´´ÎÊýÀ´½²£¨3´Î£©£¬
Name Node »á½«ÆäÖÐÁ½¸ö¸±±¾·ÅÔÚͬһ¸ö»ú¼ÜÖУ¬¶øÊ£ÏµÄÒ»¸ö¸±±¾»á·ÅÔÚÁíÍâÒ»¸ö»ú¼ÜÖУ¬²¢½«·ÖÅä½á¹û¸æË߸ø¿Í»§¶Ë£¬¿Í»§¶Ë½«»á×ñÑÕâ¸ö·ÖÅä½á¹û½«Êý¾Ý·ÖÅ䏸Èý¸ö
Data Node¡£
µ±¿Í»§¶Ë½ÓÊÕµ½ Name Node ¸ø³öµÄÈÎÎñ·ÖÅäÇåµ¥ºó£¬¿ªÊ¼½«Êý¾Ý´«Ê䏸 Data Node£¬ÀýÈ磺Client
Ñ¡Ôñ Block A ´ò¿ª TCP 50010 ¶Ë¿Ú£¬¸æËß Data Node 1 ˵£º¡°ºÙ£¬¸øÄãÒ»¸öÊý¾Ý¿é
Block A£¬È»ºóÄãȥȷ±£ Data Node 5 Ò²×¼±¸ºÃÁË£¬²¢ÈÃËüÎÊÎÊ Data Node 6
ÊDz»ÊÇÒ²×¼±¸ºÃÁË¡±¡£Èç´Ë£¬Data NodeÃÇ»áͨ¹ýTCP 50010 ¶Ë¿ÚÔ··µ»Ø²¢Öð²ã¸æÖª×Ô¼º×¼±¸ºÃÁË£¬×îÖÕÈÿͻ§¶ËµÃÖªÇåµ¥ÉÏËùÁгöµÄ
Data Node ¶¼×¼±¸ºÃÁË¡£µ±¿Í»§¶ËµÃÖª¶¼×¼±¸ºÃÖ®ºó£¬¿ªÊ¼×¼±¸Ð´Êý¾Ý¿éµ½¼¯ÈºÖС£ 
Êý¾Ý¿é±»µÚÒ»¸ö Data Node ½ÓÊպ󣬻ὫÆä¸´ÖƸøÏÂÒ»¸ö Data Node ÒÔ´ËÀàÍÆ£¨¸´ÖÆ´ÎÊýÓÉ
dfs.replication ²ÎÊý¿ØÖÆ£©¡£
´Ë´¦ÎÒÃÇ¿ÉÒÔ¿´µ½£¬Data Node 1 Ö®ËùÒÔÔÚ²»Í¬µÄ»ú¼ÜÉÏ£¬ÊÇΪÁ˱ÜÃâÊý¾Ý¶ªÊ§£¬¶ø Data
Node 5 ºÍ Data Node 6 ´æÔÚÓÚͬһ¸ö»ú¼ÜÊÇΪÁ˱£Ö¤ÍøÂçÐÔÄܺ͵ÍÑÓ³Ù¡£Ö±µ½ Block
A ±»³É¹¦µÄдÈëµ½µÚÈý¸ö½Úµã£¬Block B ²Å»á¿ªÊ¼¼ÌÐøÐ´Èë¡£ 
µ±ËùÓÐµÄ Data Node ÒѾ³É¹¦µÄ½ÓÊÕµ½ÁËÊý¾Ý¿é£¬ËüÃǽ«»á±¨¸æ¸ø Name Node£¬Í¬Ê±Ò²»á¸æÖª¿Í»§¶ËÒ»ÇÐ×¼±¸¾ÍÐ÷²¢¹Ø±Õ»Ø»°£¬´Ëʱ¿Í»§¶ËÒ²»á·µ»ØÒ»¸ö³É¹¦µÄÐÅÏ¢¸ø
Name Node¡£Name Node ¿ªÊ¼¸üÐÂÔªÊý¾ÝÐÅÏ¢½« Block A ÔÚ File.txt
ÖеÄλÖüǼÏÂÀ´¡£
È»ºóÖØ¸´ÒÔÉϲÙ×÷£¬Ö±µ½Ê£ÏµÄÁ½¸öÊý¾Ý¿é Block BºÍ Block C Ò²·Ö±ðдÈëµ½ÆäËûµÄ Data
Node ÖС£ 
ͨ¹ýÒÔÉϲ½ÖèÎÒÃÇ¿ÉÒÔµÃÖª£¬Èç¹ûÎÒÃÇÓÐÒ»¸ö1TBµÄÊý¾ÝÒª×ö·ÖÎö£¬ÄÇôÎÒÃÇËùÕ¼ÓõÄÍøÂçÁ÷Á¿ºÍ´ÅÅ̿ռ佫ÈçÏ£º
ʹÓÃÁ÷Á¿= ´ÅÅ̿ռä = dfs.replication*Êý¾Ý´óС
ÀýÈçÎÒÃÇĬÈϵÄÉèÖÃÊÇ¿½±´Èý´Î£¬ÄÇôÎÒÃǾÍÐèÒªÏûºÄ3TBµÄÍøÂçÁ÷Á¿ºÍ3TBµÄ´ÅÅ̿ռ䡣 
ÕâÑù£¬¾ÍÈçÎÒÃÇÔ¤ÆÚµÄÄÇÑù£¬½«Ò»¸ö´óµÄÊý¾Ý·Ö¸î³ÉÎÞÊýСµÄÊý¾ÝÌá½»¸ø¶à¸öData Node ½øÐв¢ÐмÆËã¡£ÔÚÕâÀÎÒÃÇ¿ÉÒÔͨ¹ýºáÏòÀ©Õ¹Ôö¼Ó·þÎñÆ÷µÄÊýÁ¿À´Ìá¸ß¼ÆËãÐÔÄÜ£¬µ«Í¬Ê±£¬ÍøÂçI/O
µÄÍÌÍÂÒ²³ÉΪÁ˼ÆËãÐÔÄÜÆ¿¾±Ö®Ò»£¬ÒòΪÈç¹ûºáÏòÀ©Õ¹£¬»á¸øÍøÂçÍÌÍ´øÀ´¾Þ´óµÄѹÁ¦£¬ÈçºÎ½« Hadoop
¹ý¶Éµ½ÍòÕ×ÒÔÌ«ÍøÊǼ´½«µ½À´µÄÄÑÌâ¡££¨¶øÇÒ±±¾©Õâ·¿¼Û£¬²Á²Á²Á¡¡£©
»¹ÓÐÒ»ÖÖ·½·¨ÔòÊÇͨ¹ýÌá¸ßµ¥¸ö Data Node µÄÅäÖÃÀ´Ìá¸ß¼ÆËãÐÔÄÜ¡£´ËΪ×ÝÏòÀ©Õ¹¡£µ«Í¨³£²»ÈÏΪÕâÑù×öÊÇÒ»¸öÃ÷ÖǵÄÑ¡Ôñ£¨³ý·ÇÄúµÄ»ú·¿·ÑÓÃÕæµÄºÜ¸ß£©¡£ 
Name Node ÔÚÕû¸ö HDFS Öд¦ÓڹؼüλÖã¬Ëü±£´æÁËËùÓеÄÎļþϵͳµÄÔªÊý¾ÝÐÅÏ¢ÓÃÀ´¼à¿ØÃ¿¸ö
Data Node µÄ½¡¿µ×´¿ö¡£Ö»ÓÐ Name Node ÖªµÀÊý¾Ý´ÓÄÄÀïÀ´¡¢½«Òª±»·ÖÅäµ½ÄÄÀïÈ¥£¬×îºó·µ»Ø¸øË¡£
Data Node »áÿ3ÃëÖÓÒ»´Îͨ¹ý TCP 9000¶Ë¿Ú·¢ËÍÐÄÌø¸ø Name Node¡£Ã¿10´ÎÐÄÌøÉú³ÉÒ»¸ö½¡¿µ±¨¸æ£¬ÐÄÌøÊý¾Ý¶¼»á°üº¬¹ØÓÚ¸ÃData
NodeËùÓµÓеÄÊý¾Ý¿éÐÅÏ¢¡£¸Ã±¨¸æÈà Name Node ÖªµÀ²»Í¬µÄ»ú¼ÜÉϲ»Í¬µÄData NodeÉÏ´æÔÚµÄÊý¾Ý¿ìµÄ¸±±¾£¬²¢Îª´Ë½¨Á¢ÔªÊý¾ÝÐÅÏ¢¡£
Name NodeµÄÖØÒªÐÔ²»ÑÔ¶øÓ÷£¬Ã»ÓÐËü£¬¿Í»§¶Ë½«²»ÖªµÀÈçºÎÏòHDFSдÈëÊý¾ÝºÍ¶ÁÈ¡½á¹û£¬¾Í²»¿ÉÄÜÖ´ÐÐ
Map Reduce ¹¤×÷£¬Òò´Ë£¬Name Node ËùÔڵķþÎñÆ÷Ó¦µ±ÊÇÒ»¸ö±È½ÏÅ£±ÆµÄ·þÎñÆ÷£¨ÈȲå°Î·çÉÈ¡¢ÈßÓàÍø¿¨Á¬½Ó¡¢Ë«µçÔ´µÈ£©¡£
Èç¹û Name Node ûÓнÓÊÕµ½ Data Node ·¢Ë͹ýÀ´µÄÐÄÌø£¬ÄÇôËü½«»á¼Ù¶¨¸Ã Data
Node ÒѾËÀÍö¡£ÒòΪÓÐÇ°ÃæµÄÐÄÌø±¨¸æ£¬Òò´Ë Name Node ÖªµÀ¸ÃËÀÍöµÄ Data Node
ĿǰµÄ¹¤×÷ÄÚÈÝÒÔ¼°½ø¶È£¬Ëü½«»á½«¸Ã Data Node Ëù¸ºÔðµÄÄÚÈÝ·Ö·¢¸øÆäËûµÄ Data NodeÈ¥Íê³É¡££¨Í¬Ñù¸ù¾Ý»ú¼ÜÒâʶÀ´·Ö·¢¸ÃÈÎÎñ£©¡£ 
Secondary Name Node ÔÚ¹úÄÚͨ³£±»³ÆÎª¸¨Öú Name Node ÒòΪËü²¢²»ÊÇÒ»¸öÍêÕû±¸·Ý£¬
Secondary Name Node µÄ´æÔÚËäÈ»ÊÇΪÁËÈ·±£ Name Node ÔÚå´»úºóÄܹ»½ÓÊÖÆäÖ°Ô𣬵«ÊÇËüÓë
Name Node Ö®¼äµÄÔªÊý¾Ý½»»¥²»ÊÇʵʱµÄ¡£Ä¬ÈÏΪÿ¸ôһСʱ£¬Secondary Name Node
»áÖ÷¶¯ÇëÇó Name Node£¬²¢´Ó Name Node ÖÐÄõ½ÎļþϵͳµÄÔªÊý¾ÝÐÅÏ¢£¨Í¬²½£©¡£Õâ¸ö¼ä¸ô¿ÉÒÔͨ¹ýÅäÖÃÏîÀ´ÉèÖá£
Òò´Ë£¬Èç¹ûÍòÒ» Name Node å´»ú£¬ËäÈ» Secondary Name Node Äܹ»½ÓÊֲμӹ¤×÷£¬µ«ÊÇÒÀÈ»»áÔì³É²¿·ÖµÄÊý¾Ý¶ªÊ§¡£Òò´Ë£¬Èç¹ûÊý¾Ý·Ç³£ÖØÒª£¬Ä¬ÈϵÄһСʱͬ²½Ò»´Î¿ÉÄÜÔ¶Ô¶²»×ãÒÔ±£»¤Êý¾ÝµÄ¼ÆËã½ø¶È£¬ÎÒÃÇ¿ÉÒÔËõ¶ÌÆäͬ²½Ê±¼äÀ´Ôö¼ÓÊý¾ÝµÄ°²È«ÐÔÀýÈ磺ÿ·ÖÖÓͬ²½Ò»´Î¡£ 
µ±¿Í»§¶Ë´òËã´Ó HDFS ÖÐÈ¡Êý¾ÝµÄʱºò£¬ÀýÈçÒ»¸ö×÷ÒµµÄ½á¹û£¬Í¬ÑùÐèÒªÊ×ÏÈÓë Name Node
´ò½»µÀ£¬µÄÖµÏëÈ¡µÄÊý¾Ý±»´æ·ÅÔÚÄÄÀName Node ͬÑù»á¸ø¿Í»§¶ËÒ»¸öÇåµ¥£¬È»ºó¿Í»§¶ËÈ¥ Name
Node Ö¸¶¨µÄij¸ö Data Node ÖÐÄÃÊý¾Ý£¨Í¨¹ýTCP 50010 ¶Ë¿Ú£©¡£
¿Í»§¶Ë²»»áÖð¸ö Data Node È¥ÄÃÊý¾Ý£¬¶øÊÇÓÉ Name Node Ö¸¶¨µÄÄǸö Data
Node ·Ö±ðÈ¥ÆäËûµÄ Data Node ÄÇÀïÄÃÊý¾Ý¡£ºÃÏñ¿Í»§¶ËÔÚ˵£º¡°Name Node£¬¸æËßÎÒÊý¾Ý¶¼ÔÚÄĶù£¿¡±£¬Name
Node ˵¡°ËûÃÇÔÚ Data Node x¡¢y¡¢z£¬ÄãÈ¥ Data Node x ÄÃÊý¾Ý°É¡±£¬¿Í»§¶ËÓÚÊǸæËß
Data Node X£¬Äã°Ñ y ºÍ z µÄÊý¾ÝÒ»ÆðÄÃÀ´²¢Ë͵½ÎÒÕâÀïÀ´¡£ 
»¹ÓÐÒ»ÖÖÇé¿ö£¬ÆäÖÐÒ»¸ö Data Node µÄÊØ»¤½ø³Ì±¾Éí½«ÐèÒª¶ÁÈ¡HDFSµÄijЩÊý¾Ý¿é£¬ÀýÈçData
Node ±»ÒªÇóÀ´´¦ÀíÊý¾Ý£¬µ«ÊÇËû±¾µØÃ»ÓУ¬Òò´ËËü±ØÐë´ÓÁíÒ»¸öÊý¾Ý½ÚµãÖнâËøÊý¾Ý²¢Í¨¹ýÍøÂç´«Êäµ½±¾µØ¿ªÊ¼´¦Àí¡£
ÔÚÕâÀName Node ͬÑù»á¿¼ÂÇ¡°»ú¼ÜÒâʶ¡±£¬²¢Í¨¹ý»ú¼ÜÒâʶÀ´ÕÒµ½×î½üµÄ Data Node
²¢½«Êý¾Ý´«Êä¹ýÈ¥¡£
ÏÖÔÚ£¬ÎÒÃÇÒѾ֪µÀ File.txt ±»·Ö·¢µ½²»Í¬µÄ Data NodeÉÏ£¬Ò²ÖªµÀÁËËûÃÇÊÇÈçºÎÔËתµÄÁË£¬ÏÖÔÚÎÒÃǾͿªÊ¼¿´¿´
Hadoop ÊǾßÌåÈçºÎʹÓà Map Reduce ¿ò¼ÜÀ´½øÐпìËÙÔËËãµÄ°É¡£
µÚÒ»²½ÊÇ Map ½×¶Î£¬ÔÚÎÒÃǵÄÀý×ÓÖУ¬ÎÒÃÇÒªÇóÎÒÃÇµÄ Hadoop ¼¯Èº¼ÆËã³öÓʼþÖС°Refund¡±µ¥´ÊµÄÊýÁ¿¡£
ÔÚÒ»¿ªÊ¼£¬¿Í»§¶Ë»áÌá½»Ò»¸ö Map Reduce ×÷Òµ£¬ÀýÈ磺¡°ÔÚ File.txt ÖÐÓжàÉÙ¸ö
Refund£¿¡±µ±È»£¬Õâ¾ä»°ÊÇ·Òë×Ô Java ÓïÑÔ£¬Í¨¹ý Java ±àдºÃÒ»¸ö Map Reduce
×÷Òµ²¢Ìá½»×÷Òµ¸ø Job Tracker¡£Job Tracker Óë Name Node е÷µÃµ½ÄÄЩ
Data Node °üº¬ File.txt µÄÊý¾Ý¿é¡£ È»ºó Job Tracker ¿ªÊ¼ÔÚÕâЩ Data
Node Éϼ¤»î Task Tracker¡£ Task Tracker ¿ªÊ¼ Map ×÷Òµ²¢¼àÊÓÈÎÎñ½ø¶È¡£Task
TrackerͬʱҲÌṩÐÄÌøºÍÈÎÎñ״̬¸ø Job Tracker¡£
µ±ËùÓÐµÄ Map ÈÎÎñÍê³Éºó£¬Ã¿¸ö½Úµã¶¼»á´æ·ÅÒ»¸ö½á¹ûÔÚÆä±¾µØÎïÀí´ÅÅÌÉÏ£¬Õâ±»³ÆÎª¡°ÖмäÊý¾Ý¡±¡£½ÓÏÂÀ´£¬¾ÍÊǽ«ÕâЩÖмäÊý¾Ýͨ¹ýÍøÂç·¢Ë͸øÒ»¸öÖ´ÐÐ
Reduce ÈÎÎñµÄ½Úµã¡£

Job Tracker ×ܻᾡÁ¿ÌôÑ¡´¦Àí Map ÈÎÎñµÄ½ÚµãÀ´´¦Àí Reduce ÈÎÎñ£¬ÒòΪ Map
´¦ÀíµÄÊý¾Ý¾ÍÔÚ±¾µØ£¬²»ÐèҪͨ¹ýÍøÂçÀ´´«Ê䣬µ«ÊÇ£¬Job Tracker ²¢²»±£Ö¤Ò»¶¨»áÌôÑ¡±¾µØ½Úµã£¬ÒòΪ¿ÉÄÜ
Map ÈÎÎñ½Ï¶à£¬Ã»ÓÐ×ÊÔ´À´ÔËÐÐ Reduce ÈÎÎñ£¬ÕâÑù£¬¾Í»áÌôÑ¡ÆäËûµÄ½ÚµãÀ´Íê³É Reduce
ÈÎÎñ¡£
ͬÑù£¬Job Tracker »á¸ù¾Ý»ú¼ÜÒâʶÀ´Ìôѡͬһ»ú¼ÜÄ򵀮äËû½ÚµãÀ´Íê³É Reduce ÈÎÎñ¡£ 
µÚ¶þ²½¾ÍÊÇ Reduce£¬µ± Map Éú³ÉÁËÖмäÊý¾Ýºó£¬ÏÖÔÚÎÒÃÇÐèÒª½«ËùÓеÄÕâЩÖмäÊý¾Ý»ã×ܼÆËãÉú³É×îÖÕµÄÊý¾Ý¡£
Job Tracker ¿ÉÄÜ»áÌôÑ¡¼¯ÈºÖÐÈÎÒâÒ»¸ö½ÚµãÀ´×÷Ϊ Reduce ÈÎÎñµÄ´¦Àí·þÎñÆ÷£¬´Ëʱ¿ÉÄÜ»áÒ»´ÎÐÔÓдóÁ¿µÄÊý¾ÝÓ¿Ïò
Reduce ÈÎÎñËùÔڵĽڵã·þÎñÆ÷£¬ÕâÖÖÇé¿öͨ³£±»³ÆÎª¡°Incast¡±»ò¡°fan-in¡±¡£ÕâÐèҪţ±ÆµãµÄ½»»»»úÒÔ¼°ÄÚ²¿Á÷Á¿¹ÜÀíºÍ×ã¹»µÄ»º³åÇø£¨²»ÒªÌ«´ó£¬Ò²²»ÒªÌ«Ð¡£©¡£»º³åÇøµÄ´óС×îÖÕ¿ÉÄÜ»áÔì³É²»±ØÒªµÄ¸½´øË𺦣¨Á÷Á¿Ïà¹Ø£©¡£µ«ÕâÊÇÁíÍâÒ»¸ö»°Ìâ¡£
ÏÖÔÚ Reduce ÒѾÊÕ¼¯µ½ÁËËùÓÐ´Ó Map ¼ÆËãµÃµ½µÄÖмäÊý¾Ý£¬²¢¿ÉÒÔ¿ªÊ¼×îºó½×¶ÎµÄ¼ÆË㣬ÔÚ±¾ÎĵÄÀý×ÓÖУ¬ÎÒÃǽö½öÊǼòµ¥µÄ½«¸÷¸ö½á¹ûÏà¼Ó¼´¿ÉµÃµ½¡°Refund¡±µÄÊýÁ¿¡£È»ºó½«½á¹ûдÈëµ½
Results.txt Îļþ¡£¿Í»§¶Ë¿ÉÒÔ´ÓHDFSÖжÁÈ¡Results.txt Îļþ£¬²¢½«¹¤×÷ÊÓΪÍê³É¡£
Õâ¸öÀý×Ó²¢Ã»ÓÐÔì³É´óÁ¿µÄÖмäÊý¾ÝºÍÁ÷Á¿Õ¼ÓÃÎÊÌ⣬µ«ÊÇʵ¼ÊÉú²ú»·¾³¿ÉÄÜ»áÔì³É´óÁ¿µÄÖмäÊý¾ÝºÍ´ø¿íÆ¿¾±¡£Õâ¾ÍÊÇ
Map Reduce ×÷ÒµÖдúÂëÈçºÎ¼ÆËãµÄÒ»ÃÅѧÎÊ£¬Èç¹ûÓÃ×îÓÅ»¯µÄ´úÂëÀ´Íê³É×÷ÒµÊÇÐèÒªÎÒÃÇÀ´¾ö¶¨µÄ¡£ 
Èç¹ûÔÚ Hadoop ¼¯ÈºÔËËã¹ý³ÌÖÐÌí¼ÓÁËеĻú¼Ü£¬ÄÇôÊý¾ÝµÄ¸ºÔؾùºâ¾Í³ÉΪÁËÒ»¸öÎÊÌâËùÔÚ£¬ÈçºÎÈÃÐÂÔö¼ÓµÄ»ú¼ÜѸËÙµÄÈÚÈëµ½¼ÆËã»·¾³ÖÐÀ´³ÉΪÁËÒ»¸öºÜÆÈÇеÄÎÊÌâ¡£ 
Êǵģ¬HadoopµÄÈ·°üº¬Ò»¸öÃûΪ Balancer µÄ¹¤¾ß¡£Balancer×÷ÒµÓë½Úµã£¬²¢ÊÔͼÌṩ¼ÆËãÆ½ºâ¡£µ«ÊÇĬÈϵÄ
Balancer ¿ÉÀûÓõÄÍøÂç´ø¿íÊǷdz£µÍµÄ 1mb/s¡£²»¹ý´ËÉèÖÿÉÒÔͨ¹ýhdfs-site.xml
ÖÐµÄ dfs.balance.bandwidthPerSec ²ÎÊýÀ´ÉèÖá£
Balancer ¿ÉÒԺܺõÄÕÕ¹ËÄãµÄ¼¯Èº¡£¼øÓÚ Balancer µÄĬÈÏ´ø¿íÉèÖã¬Ëû¿ÉÄÜÐèÒª½Ï³¤µÄʱ¼äÀ´Íê³É¾ùºâµÄ²Ù×÷£¬¿ÉÄܼ¸Ì죬Ҳ¿ÉÄܼ¸ÖÜ¡£ |