ÀÖÓãµç¾º


½ÌÓýÐÐÒµA¹ÉIPOµÚÒ»¹É£¨¹ÉƱ´úÂë 003032£©

È«¹ú×Éѯ/ͶËßÈÈÏߣº400-618-4000

MapReduce±à³ÌÔ­Àí½éÉÜ[MapReduce¿ª·¢±Ø¶Á]

¸üÐÂʱ¼ä:2019Äê09ÔÂ16ÈÕ15ʱ57·Ö À´Ô´:ÀÖÓã²¥¿Í ä¯ÀÀ´ÎÊý:

ÏàÐŹØÓÚHadoopÖÐMapReduceµÄÏà¹ØÎÄÕ»áºÜ¶à£¬ÕâÀïÖ»¼òµ¥½éÉÜÒ»ÏÂMapReduceµÄÏà¹ØÖªÊ¶¡£

HadoopµÄMapReduceÀ´Ô´ÓÚGoogle¹«Ë¾µÄÈýƪÂÛÎÄÖеÄMapReduce£¬ÆäºËÐÄ˼ÏëÊÇ“·Ö¶øÖÎÖ®”¡£Map¸ºÔð“·Ö”£¬¼´°Ñ¸´ÔÓµÄÈÎÎñ·Ö½âΪÈô¸É¸ö“¼òµ¥µÄÈÎÎñ”À´²¢Ðд¦Àí¡£¿ÉÒÔ½øÐвð·ÖµÄǰÌáÊÇÕâЩСÈÎÎñ¿ÉÒÔ²¢ÐмÆË㣬±Ë´Ë¼ä¼¸ºõûÓÐÒÀÀµ¹ØÏµ¡£Reduce¸ºÔð“ºÏ”£¬¼´¶Ômap½×¶ÎµÄ½á¹û½øÐÐÈ«¾Ö»ã×Ü¡£

ÏÖ½×¶ÎMapReduceÒ»°ãÔËÐÐÔÚHadoop2.x°æ±¾µÄyarn×ÊԴƽ̨ÉÏ£¬¾ßÌåÔËÐйý³ÌºóÃæ»áÓÐÏêϸ˵Ã÷¡£

MapReduce±à³Ì¹æ·¶

MapReduce µÄ¿ª·¢Ò»¹²Óа˸ö²½Öè, ÆäÖÐ Map ½×¶Î·ÖΪ 2 ¸ö²½Ö裬Shuffle ½×¶Î 4 ¸ö²½Ö裬Reduce ½×¶Î·ÖΪ 2 ¸ö²½Öè

Map ½×¶Î 2 ¸ö²½Öè

1)ÉèÖà InputFormat Àà, ½«Êý¾ÝÇзÖΪ Key-Value(K1ºÍV1) ¶Ô, ÊäÈëµ½µÚ¶þ²½£»

2)×Ô¶¨Òå Map Âß¼­, ½«µÚÒ»²½µÄ½á¹ûת»»³ÉÁíÍâµÄ Key-Value(K2ºÍV2)¶Ô, Êä³ö½á¹û£»

Shuffle ½×¶Î 4 ¸ö²½Öè

3)¶ÔÊä³öµÄ Key-Value ¶Ô½øÐзÖÇø£»

4)¶Ô²»Í¬·ÖÇøµÄÊý¾Ý°´ÕÕÏàͬµÄ Key ÅÅÐò£»

5)(¿ÉÑ¡) ¶Ô·Ö×é¹ýµÄÊý¾Ý³õ²½¹æÔ¼, ½µµÍÊý¾ÝµÄÍøÂ翽±´£»

6)¶ÔÊý¾Ý½øÐзÖ×é, Ïàͬ Key µÄ Value ·ÅÈëÒ»¸ö¼¯ºÏÖУ»

Reduce ½×¶Î 2 ¸ö²½Öè

7)¶Ô¶à¸ö Map ÈÎÎñµÄ½á¹û½øÐÐÅÅÐòÒÔ¼°ºÏ²¢, ±àд Reduce º¯ÊýʵÏÖ×Ô¼ºµÄÂß¼­, ¶ÔÊäÈëµÄ Key-Value ½øÐд¦Àí, תΪÐ嵀 Key-Value(K3ºÍV3)Êä³ö£»

8)ÉèÖà OutputFormat ´¦Àí²¢±£´æ Reduce Êä³öµÄ Key-Value Êý¾Ý£»

MapReduce²½Öè

yarn×ÊÔ´µ÷¶È

yarnÊÇhadoop¼¯Èºµ±ÖеÄ×ÊÔ´¹ÜÀíϵͳÄ£¿é£¬´Óhadoop2.0¿ªÊ¼ÒýÈëyarnÄ£¿é,yarn¿ÉΪ¸÷Àà¼ÆËã¿ò¼ÜÌṩ×ÊÔ´µÄ¹ÜÀíºÍµ÷¶È,Ö÷ÒªÓÃÓÚ¹ÜÀí¼¯Èºµ±ÖеÄ×ÊÔ´(Ö÷ÒªÊÇ·þÎñÆ÷µÄ¸÷ÖÖÓ²¼þ×ÊÔ´£¬°üÀ¨CPU£¬Äڴ棬´ÅÅÌ£¬ÍøÂçIOµÈ)ÒÔ¼°µ÷¶ÈÔËÐÐÔÚyarnÉÏÃæµÄ¸÷ÖÖÈÎÎñ¡£

Ïà±ÈÓÚhadoop1.x°æ±¾£¬yarnºËÐijö·¢µãÊÇΪÁË·ÖÀë×ÊÔ´¹ÜÀíÓë×÷Òµ¼à¿Ø£¬ÊµÏÖ·ÖÀëµÄ×ö·¨ÊÇÓµÓÐÒ»¸öÈ«¾ÖµÄ×ÊÔ´¹ÜÀíResourceManager(RM)£¬ÒÔ¼°Ã¿¸öÓ¦ÓóÌÐò¶ÔÓ¦Ò»¸öµÄÓ¦ÓùÜÀíÆ÷ApplicationMaster(AM)¡£

×ܽáÒ»¾ä»°¾ÍÊÇ˵£ºyarnÖ÷Òª¾ÍÊÇΪÁ˵÷¶È×ÊÔ´£¬¹ÜÀíÈÎÎñ¡£

YARN×ÜÌåÉÏÊÇMaster/Slave½á¹¹£¬Ö÷ÒªÓÉResourceManager¡¢NodeManager¡¢ ApplicationMasterºÍContainerµÈ¼¸¸ö×é¼þ¹¹³É¡£

ResourceManager(RM) ¸ºÔð´¦Àí¿Í»§¶ËÇëÇó,¶Ô¸÷NMÉϵÄ×ÊÔ´½øÐÐͳһ¹ÜÀíºÍµ÷¶È¡£¸øApplicationMaster·ÖÅä¿ÕÏеÄContainer ÔËÐв¢¼à¿ØÆäÔËÐÐ״̬¡£Ö÷ÒªÓÉÁ½¸ö×é¼þ¹¹³É£ºµ÷¶ÈÆ÷ºÍÓ¦ÓóÌÐò¹ÜÀíÆ÷£º

µ÷¶ÈÆ÷(Scheduler)£ºµ÷¶ÈÆ÷¸ù¾ÝÈÝÁ¿¡¢¶ÓÁеÈÏÞÖÆÌõ¼þ£¬½«ÏµÍ³ÖеÄ×ÊÔ´·ÖÅ䏸¸÷¸öÕýÔÚÔËÐеÄÓ¦ÓóÌÐò¡£µ÷¶ÈÆ÷½ö¸ù¾Ý¸÷¸öÓ¦ÓóÌÐòµÄ×ÊÔ´ÐèÇó½øÐÐ×ÊÔ´·ÖÅ䣬¶ø×ÊÔ´·ÖÅ䵥λÊÇContainer¡£Shceduler²»¸ºÔð¼à¿Ø»òÕ߸ú×ÙÓ¦ÓóÌÐòµÄ״̬¡£×ÜÖ®£¬µ÷¶ÈÆ÷¸ù¾ÝÓ¦ÓóÌÐòµÄ×ÊÔ´ÒªÇó£¬ÒÔ¼°¼¯Èº»úÆ÷µÄ×ÊÔ´Çé¿ö£¬ÎªÓ¦ÓóÌÐò·ÖÅä·â×°ÔÚContainerÖеÄ×ÊÔ´¡£

Ó¦ÓóÌÐò¹ÜÀíÆ÷(Applications Manager)£ºÓ¦ÓóÌÐò¹ÜÀíÆ÷¸ºÔð¹ÜÀíÕû¸öϵͳÖÐËùÓÐÓ¦ÓóÌÐò£¬°üÀ¨Ó¦ÓóÌÐòÌá½»¡¢Óëµ÷¶ÈÆ÷ЭÉÌ×ÊÔ´ÒÔÆô¶¯ApplicationMaster ¡¢¼à¿ØApplicationMasterÔËÐÐ״̬²¢ÔÚʧ°ÜÊ±ÖØÐÂÆô¶¯µÈ£¬¸ú×Ù·Ö¸øµÄContainerµÄ½ø¶È¡¢×´Ì¬Ò²ÊÇÆäÖ°Ôð¡£

NodeManager (NM) NodeManager£ºNodeManager (NM) NodeManager ÊÇÿ¸ö½ÚµãÉϵÄ×ÊÔ´ºÍÈÎÎñ¹ÜÀíÆ÷¡£Ëü»á¶¨Ê±µØÏòResourceManager»ã±¨±¾½ÚµãÉϵÄ×ÊԴʹÓÃÇé¿öºÍ¸÷¸öContainerµÄÔËÐÐ״̬;ͬʱ»á½ÓÊÕ²¢´¦ÀíÀ´×ÔApplicationMaster µÄContainer Æô¶¯/Í£Ö¹µÈÇëÇó¡£

ApplicationMaster (AM)£º Óû§Ìá½»µÄÓ¦ÓóÌÐò¾ù°üº¬Ò»¸öApplicationMaster £¬¸ºÔðÓ¦ÓÃµÄ¼à¿Ø£¬¸ú×ÙÓ¦ÓÃÖ´ÐÐ״̬£¬ÖØÆôʧ°ÜÈÎÎñµÈ¡£ApplicationMasterÊÇÓ¦Óÿò¼Ü£¬Ëü¸ºÔðÏòResourceManagerЭµ÷×ÊÔ´£¬²¢ÇÒÓëNodeManagerЭͬ¹¤×÷Íê³ÉTaskµÄÖ´ÐÐºÍ¼à¿Ø¡£

Container£º ContainerÊÇYARNÖеÄ×ÊÔ´³éÏó£¬Ëü·â×°ÁËij¸ö½ÚµãÉϵĶàά¶È×ÊÔ´£¬ÈçÄÚ´æ¡¢CPU¡¢´ÅÅÌ¡¢ÍøÂçµÈ£¬µ±ApplicationMasterÏòResourceManagerÉêÇë×ÊԴʱ£¬ResourceManagerΪApplicationMaster ·µ»ØµÄ×ÊÔ´±ãÊÇÓÃContainer ±íʾµÄ¡£


yarnµÄ¼Ü¹¹ºÍ¹¤×÷Á÷³Ì


YARNµÄ¼Ü¹¹ºÍ¹¤×÷Á÷³Ì

²½Öè·ÖÎö£º

1. ¿Í»§¶Ëͨ¹ýÃüÁî(hadoop jar xxx.jar)Ìá½»ÉÏ´«ÈÎÎñµ½Ö÷½ÚµãResourceManager(RM)ÖеÄApplicationManager½ø³Ì£»

2. Ö÷½ÚµãRMÅжϼ¯Èº×´Ì¬£¬Ñ¡Ôñһ̨NodeManager(NM)£¬¿ªÆôÒ»¿é×ÊÔ´Container£¬ÓÃÀ´¿ªÆôAppMaster½ø³Ì£»

3. AppMaster½ø³Ì»ñÈ¡RM½ÓÊÕµÄÈÎÎñÇëÇ󣬽øÐÐÈÎÎñ·ÖÅ䣻

4. AppMaster¸ù¾ÝÈÎÎñÇé¿öÏòRMÖеÄResourceSchedulerË÷Òª×ÊÔ´·ÖÅä·½°¸£»

5. AppMaster¸ù¾Ý×ÊÔ´·ÖÅä·½°¸ÕÒµ½µ½¸÷¸öNodeManager´Ó½Úµã£»

6. ÔÚ´Ó½ÚµãÉÏ¿ªÆô×ÊÔ´Container£¬²¢ÔËÐÐÈÎÎñTask£»

7. AppMaster»ñÈ¡¸÷¸öTaskÉÏ´«µÄÈÎÎñÖ´Ðнø¶ÈºÍ½á¹û£»

8. AppMaster½«ÈÎÎñÖ´ÐеĽá¹û·µ»Ø¸øApplicationManager¡£



ÒÔÉÏÎÒÃǽéÉÜMapReduce±à³ÌÔ­Àí£¬Èç¹ûÏëϵͳѧϰ´óÊý¾Ý¿ª·¢Ïà¹Ø¿Î³Ì£¬¿ÉÒÔµã»÷Ò³Ãæ×Éѯ°´Å¥£¬Á˽âÀÖÓã²¥¿Í¿Î³ÌÏêÇé¡£

0 ·ÖÏíµ½£º
ºÍÎÒÃÇÔÚÏß½»Ì¸£¡
¡¾ÍøÕ¾µØÍ¼¡¿¡¾sitemap¡¿