±à¼ÍƼö: |
±¾ÎÄÖ÷Òª½éÉÜÁË
MapReduce1.0ȱÏÝ¡¢YARNÌåϵ½á¹¹¡¢YARN¹¤×÷Á÷³ÌÒÔ¼°YARNÓëMR1.0¶Ô±È¡£
±¾ÎÄÀ´×Ô°®ÂëÍø£¬ÓÉ»ðÁú¹ûÈí¼þAnna±à¼¡¢ÍƼö¡£ |
|
1. MapReduce1.0ȱÏÝ
£¨1£©´æÔÚµ¥µã¹ÊÕÏ
£¨2£©JobTracker¡°´ó°ü´óÀ¿¡±µ¼ÖÂÈÎÎñ¹ýÖØ£¨ÈÎÎñ¶àʱÄڴ濪Ïú´ó£¬ÉÏÏÞ4000½Úµã£©
£¨3£©ÈÝÒ׳öÏÖÄÚ´æÒç³ö£¨·ÖÅä×ÊÔ´Ö»¿¼ÂÇMapReduceÈÎÎñÊý£¬²»¿¼ÂÇCPU¡¢Äڴ棩
£¨4£©×ÊÔ´»®·Ö²»ºÏÀí£¨Ç¿ÖÆ»®·ÖΪslot £¬°üÀ¨Map slotºÍReduce slot£©

2. YARNÌåϵ½á¹¹

MapReduce1.0¼ÈÊÇÒ»¸ö¼ÆËã¿ò¼Ü£¬Ò²ÊÇÒ»¸ö×ÊÔ´¹ÜÀíµ÷¶È¿ò¼Ü
µ½ÁËHadoop2.0ÒÔºó£¬MapReduce1.0ÖеÄ×ÊÔ´¹ÜÀíµ÷¶È¹¦ÄÜ£¬±»µ¥¶À·ÖÀë³öÀ´ÐγÉÁËYARN£¬ËüÊÇÒ»¸ö´¿´âµÄ×ÊÔ´¹ÜÀíµ÷¶È¿ò¼Ü£¬¶ø²»ÊÇÒ»¸ö¼ÆËã¿ò¼Ü
±»°þÀëÁË×ÊÔ´¹ÜÀíµ÷¶È¹¦ÄܵÄMapReduce ¿ò¼Ü¾Í±ä³ÉÁËMapReduce2.0£¬ËüÊÇÔËÐÐÔÚYARNÖ®ÉϵÄÒ»¸ö´¿´âµÄ¼ÆËã¿ò¼Ü£¬²»ÔÙ×Ô¼º¸ºÔð×ÊÔ´µ÷¶È¹ÜÀí·þÎñ£¬¶øÊÇÓÉYARNΪÆäÌṩ×ÊÔ´¹ÜÀíµ÷¶È·þÎñ

ResourceManager
´¦Àí¿Í»§¶ËÇëÇó
Æô¶¯/¼à¿ØApplicationMaster
¼à¿ØNodeManager
×ÊÔ´·ÖÅäÓëµ÷¶È
ApplicationMaster
ΪӦÓóÌÐòÉêÇë×ÊÔ´£¬²¢·ÖÅ䏸ÄÚ²¿ÈÎÎñ
ÈÎÎñµ÷¶È¡¢¼à¿ØÓëÈÝ´í
NodeManager
µ¥¸ö½ÚµãÉϵÄ×ÊÔ´¹ÜÀí
´¦ÀíÀ´×ÔResourceMangerµÄÃüÁî
´¦ÀíÀ´×ÔApplicationMasterµÄÃüÁî
2.1 ResourceManager
ResourceManager£¨RM£©ÊÇÒ»¸öÈ«¾ÖµÄ×ÊÔ´¹ÜÀíÆ÷£¬¸ºÔðÕû¸öϵͳµÄ×ÊÔ´¹ÜÀíºÍ·ÖÅ䣬Ö÷Òª°üÀ¨Á½¸ö×é¼þ£¬¼´µ÷¶ÈÆ÷£¨Scheduler£©ºÍÓ¦ÓóÌÐò¹ÜÀíÆ÷£¨Applications
Manager£©¡£
µ÷¶ÈÆ÷½ÓÊÕÀ´×ÔApplicationMasterµÄÓ¦ÓóÌÐò×ÊÔ´ÇëÇ󣬰Ѽ¯ÈºÖеÄ×ÊÔ´ÒÔ¡°ÈÝÆ÷¡±µÄÐÎʽ·ÖÅ䏸Ìá³öÉêÇëµÄÓ¦ÓóÌÐò£¬ÈÝÆ÷µÄÑ¡Ôñͨ³£»á¿¼ÂÇÓ¦ÓóÌÐòËùÒª´¦ÀíµÄÊý¾ÝµÄλÖ㬽øÐоͽüÑ¡Ôñ£¬´Ó¶øÊµÏÖ¡°¼ÆËãÏòÊý¾Ý¿¿Â£¡±¡£
ÈÝÆ÷£¨Container£©×÷Ϊ¶¯Ì¬×ÊÔ´·ÖÅ䵥λ£¬Ã¿¸öÈÝÆ÷Öж¼·â×°ÁËÒ»¶¨ÊýÁ¿µÄCPU¡¢ÄÚ´æ¡¢´ÅÅ̵È×ÊÔ´£¬´Ó¶øÏÞ¶¨Ã¿¸öÓ¦ÓóÌÐò¿ÉÒÔʹÓõÄ×ÊÔ´Á¿¡£
µ÷¶ÈÆ÷±»Éè¼Æ³ÉÊÇÒ»¸ö¿É²å°ÎµÄ×é¼þ£¬YARN²»½ö×ÔÉíÌṩÁËÐí¶àÖÖÖ±½Ó¿ÉÓõĵ÷¶ÈÆ÷£¬Ò²ÔÊÐíÓû§¸ù¾Ý×Ô¼ºµÄÐèÇóÖØÐÂÉè¼Æµ÷¶ÈÆ÷¡£
Ó¦ÓóÌÐò¹ÜÀíÆ÷£¨Applications Manager£©¸ºÔðϵͳÖÐËùÓÐÓ¦ÓóÌÐòµÄ¹ÜÀí¹¤×÷£¬Ö÷Òª°üÀ¨Ó¦ÓóÌÐòÌá½»¡¢Óëµ÷¶ÈÆ÷ÐÉÌ×ÊÔ´ÒÔÆô¶¯ApplicationMaster¡¢¼à¿ØApplicationMasterÔËÐÐ״̬²¢ÔÚʧ°ÜÊ±ÖØÐÂÆô¶¯µÈ¡£
2.2 ApplicationMaster
ResourceManager½ÓÊÕÓû§Ìá½»µÄ×÷Òµ£¬°´ÕÕ×÷ÒµµÄÉÏÏÂÎÄÐÅÏ¢ÒÔ¼°´ÓNodeManagerÊÕ¼¯À´µÄÈÝÆ÷״̬ÐÅÏ¢£¬Æô¶¯µ÷¶È¹ý³Ì£¬ÎªÓû§×÷ÒµÆô¶¯Ò»¸öApplicationMaster¡£
ApplicationMasterµÄÖ÷Òª¹¦ÄÜÊÇ£º
£¨1£©µ±Óû§×÷ÒµÌύʱ£¬ApplicationMasterÓëResourceManagerÐÉÌ»ñÈ¡×ÊÔ´£¬ResourceManager»áÒÔÈÝÆ÷µÄÐÎʽΪApplicationMaster·ÖÅä×ÊÔ´£»
£¨2£©°Ñ»ñµÃµÄ×ÊÔ´½øÒ»²½·ÖÅ䏸ÄÚ²¿µÄ¸÷¸öÈÎÎñ£¨MapÈÎÎñ»òReduceÈÎÎñ£©£¬ÊµÏÖ×ÊÔ´µÄ¡°¶þ´Î·ÖÅ䡱£»
£¨3£©ÓëNodeManager±£³Ö½»»¥Í¨ÐŽøÐÐÓ¦ÓóÌÐòµÄÆô¶¯¡¢ÔËÐС¢¼à¿ØºÍÍ£Ö¹£¬¼à¿ØÉêÇëµ½µÄ×ÊÔ´µÄʹÓÃÇé¿ö£¬¶ÔËùÓÐÈÎÎñµÄÖ´Ðнø¶ÈºÍ״̬½øÐÐ¼à¿Ø£¬²¢ÔÚÈÎÎñ·¢Éúʧ°ÜʱִÐÐʧ°Ü»Ö¸´£¨¼´ÖØÐÂÉêÇë×ÊÔ´ÖØÆôÈÎÎñ£©£»
£¨4£©¶¨Ê±ÏòResourceManager·¢ËÍ¡°ÐÄÌø¡±ÏûÏ¢£¬±¨¸æ×ÊÔ´µÄʹÓÃÇé¿öºÍÓ¦ÓõĽø¶ÈÐÅÏ¢£»
£¨5£©µ±×÷ÒµÍê³Éʱ£¬ApplicationMasterÏòResourceManager×¢ÏúÈÝÆ÷£¬Ö´ÐÐÖÜÆÚÍê³É¡£
2.3 NodeManager
NodeManagerÊÇפÁôÔÚÒ»¸öYARN¼¯ÈºÖеÄÿ¸ö½ÚµãÉϵĴúÀí£¬Ö÷Òª¸ºÔð£º
ÈÝÆ÷ÉúÃüÖÜÆÚ¹ÜÀí
¼à¿ØÃ¿¸öÈÝÆ÷µÄ×ÊÔ´£¨CPU¡¢ÄÚ´æµÈ£©Ê¹ÓÃÇé¿ö
¸ú×ٽڵ㽡¿µ×´¿ö
ÒÔ¡°ÐÄÌø¡±µÄ·½Ê½ÓëResourceManager±£³ÖͨÐÅ
ÏòResourceManager»ã±¨×÷ÒµµÄ×ÊԴʹÓÃÇé¿öºÍÿ¸öÈÝÆ÷µÄÔËÐÐ״̬
½ÓÊÕÀ´×ÔApplicationMasterµÄÆô¶¯/Í£Ö¹ÈÝÆ÷µÄ¸÷ÖÖÇëÇó
ÐèҪ˵Ã÷µÄÊÇ£¬NodeManagerÖ÷Òª¸ºÔð¹ÜÀí³éÏóµÄÈÝÆ÷£¬Ö»´¦ÀíÓëÈÝÆ÷Ïà¹ØµÄÊÂÇ飬¶ø²»¾ßÌ帺Ôðÿ¸öÈÎÎñ£¨MapÈÎÎñ»òReduceÈÎÎñ£©×ÔÉí״̬µÄ¹ÜÀí£¬ÒòΪÕâЩ¹ÜÀí¹¤×÷ÊÇÓÉApplicationMasterÍê³ÉµÄ£¬ApplicationMaster»áͨ¹ý²»¶ÏÓëNodeManagerͨÐÅÀ´ÕÆÎÕ¸÷¸öÈÎÎñµÄÖ´ÐÐ״̬¡£
2.4 ¼¯Èº²¿Êð
ÔÚ¼¯Èº²¿Êð·½Ã棬YARNµÄ¸÷¸ö×é¼þÊǺÍHadoop¼¯ÈºÖÐµÄÆäËû×é¼þ½øÐÐͳһ²¿ÊðµÄ¡£

3. YARN¹¤×÷Á÷³Ì

²½Öè1£ºÓû§±àд¿Í»§¶ËÓ¦ÓóÌÐò£¬ÏòYARNÌá½»Ó¦ÓóÌÐò£¬Ìá½»µÄÄÚÈݰüÀ¨ApplicationMaster³ÌÐò¡¢Æô¶¯ApplicationMasterµÄÃüÁî¡¢Óû§³ÌÐòµÈ
²½Öè2£ºYARNÖеÄResourceManager¸ºÔð½ÓÊպʹ¦ÀíÀ´×Ô¿Í»§¶ËµÄÇëÇó£¬ÎªÓ¦ÓóÌÐò·ÖÅäÒ»¸öÈÝÆ÷£¬ÔÚ¸ÃÈÝÆ÷ÖÐÆô¶¯Ò»¸öApplicationMaster
²½Öè3£ºApplicationMaster±»´´½¨ºó»áÊ×ÏÈÏòResourceManager×¢²á
²½Öè4£ºApplicationMaster²ÉÓÃÂÖѯµÄ·½Ê½ÏòResourceManagerÉêÇë×ÊÔ´
²½Öè5£ºResourceManagerÒÔ¡°ÈÝÆ÷¡±µÄÐÎʽÏòÌá³öÉêÇëµÄApplicationMaster·ÖÅä×ÊÔ´
²½Öè6£ºÔÚÈÝÆ÷ÖÐÆô¶¯ÈÎÎñ£¨ÔËÐл·¾³¡¢½Å±¾£©
²½Öè7£º¸÷¸öÈÎÎñÏòApplicationMaster»ã±¨×Ô¼ºµÄ״̬ºÍ½ø¶È
²½Öè8£ºÓ¦ÓóÌÐòÔËÐÐÍê³Éºó£¬ApplicationMasterÏòResourceManagerµÄÓ¦ÓóÌÐò¹ÜÀíÆ÷×¢Ïú²¢¹Ø±Õ×Ô¼º
4. YARNÓëMR1.0¶Ô±È
´ÓMapReduce1.0¿ò¼Ü·¢Õ¹µ½YARN¿ò¼Ü£¬¿Í»§¶Ë²¢Ã»Óз¢Éú±ä»¯£¬Æä´ó²¿·Öµ÷ÓÃAPI¼°½Ó¿Ú¶¼±£³Ö¼æÈÝ£¬Òò´Ë£¬ÔÀ´Õë¶ÔHadoop1.0¿ª·¢µÄ´úÂë²»ÓÃ×ö´óµÄ¸Ä¶¯£¬¾Í¿ÉÒÔÖ±½Ó·Åµ½Hadoop2.0ƽ̨ÉÏÔËÐС£
×ÜÌå¶øÑÔ£¬YARNÏà¶ÔÓÚMapReduce1.0À´Ëµ¾ßÓÐÒÔÏÂÓÅÊÆ£º
´ó´ó¼õÉÙÁ˳е£ÖÐÐÄ·þÎñ¹¦ÄܵÄResourceManagerµÄ×ÊÔ´ÏûºÄ
ApplicationMasterÀ´Íê³ÉÐèÒª´óÁ¿×ÊÔ´ÏûºÄµÄÈÎÎñµ÷¶ÈºÍ¼à¿Ø
¶à¸ö×÷Òµ¶ÔÓ¦¶à¸öApplicationMaster£¬ÊµÏÖÁË¼à¿Ø·Ö²¼»¯
MapReduce1.0¼ÈÊÇÒ»¸ö¼ÆËã¿ò¼Ü£¬ÓÖÊÇÒ»¸ö×ÊÔ´¹ÜÀíµ÷¶È¿ò¼Ü£¬µ«ÊÇ£¬Ö»ÄÜÖ§³ÖMapReduce±à³ÌÄ£ÐÍ¡£¶øYARNÔòÊÇÒ»¸ö´¿´âµÄ×ÊÔ´µ÷¶È¹ÜÀí¿ò¼Ü£¬ÔÚËüÉÏÃæ¿ÉÒÔÔËÐаüÀ¨MapReduceÔÚÄڵIJ»Í¬ÀàÐ͵ļÆËã¿ò¼Ü£¬Ö»Òª±à³ÌʵÏÖÏàÓ¦µÄApplicationMaster
YARNÖеÄ×ÊÔ´¹ÜÀí±ÈMapReduce1.0¸ü¼Ó¸ßЧ
|