ÔÚ´óÊý¾ÝÉú̬Öð½¥²ýÊ¢µÄ½ñÌ죬ApacheSpark×÷Ϊ×îÊܽӴýµÄÊý¾Ý´¦Öóͷ£ÒýÇæÖ®Ò»£¬ËüµÄǿʢ¡¢ÎÞаÒÔ¼°¸ßЧÒѾ³ÉΪÊý¾Ý¹¤³ÌʦÃǵÄÊ×Ñ¡¹¤¾ß¡£ÈκÎÊÖÒÕ¹¤¾ß¶¼²»¿É×èÖ¹»áÓöµ½¹ýʧºÍÒì³££¬ÓÈÆäÊÇÔÚÖØ´óµÄÂþÑÜʽÇéÐÎÖУ¬¹ýʧÐÅÏ¢³ÉΪÎÒÃÇÕï¶ÏÎÊÌâµÄ¡°µÚÒ»ÏßË÷¡±¡£
Ã÷È·ºÍÉÆÓÃSparkÖеĹýʧÐÅÏ¢Ö¸ÄÏ£¬²»µ«ÄܽÚÔ¼Ãû¹óʱ¼ä£¬»¹ÄÜÌáÉýÕûϵһÇеÄÎȹÌÐÔºÍÐÔÄÜ¡£
Ò»¡¢ÎªºÎÒªÖØÊÓSparkµÄ¹ýʧÐÅÏ¢´ó´ó¶¼ÐÂÊÖÔÚʹÓÃSparkµÄÀú³ÌÖУ¬Óöµ½¹ýʧÎÊÌ죺ÕâÊÇΪʲô£¿×Åʵ£¬SparkµÄ¹ýʧÌáÐѾÓÉÈ«ÐÄÉè¼Æ£¬Ö¼ÔÚ·´Ó¦Ä¿½ñÇéÐÎÖб¬·¢µÄÎÊÌâ¡£ËüÃÇÍùÍù°üÀ¨¸»ºñµÄÕï¶ÏÐÅÏ¢£¬ÀýÈçʧ°ÜµÄʹÃüID¡¢Òì³£ÀàÐÍ¡¢¿ÍÕ»¸ú×Ù¡¢ÉèÖòÎÊýµÈ¡£
ºÃ±È£¬Ò»¸ö³£¼ûµÄ¹ýʧ£º¡°ExecutorLostFailure¡±ÍùÍùÒâζ×ÅÖ´ÐÐÆ÷ÔÚʹÃüÖбÀÀ£»ò±»É±ËÀ£¬¿ÉÄÜÊÇ×ÊԴȱ·¦»ò´úÂëÒì³£¡£Ã÷È·±³ºóµÄ¼ÄÒ壬¾ÍÄÜÓеķÅʸµØµ÷½âÉèÖã»·´Ö®£¬ÈôÊÇÒ»Î¶Ã¤Ä¿ÖØÆô»òÅŲ飬¿ÉÄܵ¼ÖÂÎÊÌâÖØ¸´¡£
×ÊÔ´Ïà¹Ø¹ýʧOutOfMemoryError£ºÊ¹ÃüÁè¼ÝÄÚ´æÏÞÖÆ£¬³£ÓÉÓÚÊý¾ÝÇãб»ò²ÎÊý²»¶ÔÀíÒýÆð¡£ExecutorLostFailure£ºÖ´ÐÐÆ÷Òì³£ÖÕÖ¹£¬¿ÉÄܺÍÓ²¼þ¹ÊÕÏ»ò×ÊÔ´µ÷ÀíÕ½ÂÔÓйء£½â¾ö½¨Ò飺ÓÅ»¯ÄÚ´æÉèÖã¬¼à¿ØÓ²¼þ״̬£¬½ÓÄÉ·ÖÇøµ÷ÓÅ¡£
ʹÃüµ÷Àí¹ýʧstageʧ°Ü£ºÓÉÓÚʹÃü³¬Ê±¡¢Êý¾Ý·×ÆçÖ»òÒÀÀµ¹ýʧµ¼Ö¡£shuffleÎļþ¹ýʧ£ºÖîÈç¡°CorruptShuffleFileException¡±Åú×¢shuffleÀú³ÌÖеÄÊý¾ÝË𻵡£½â¾ö½¨Ò飺¼ì²éʹÃüÒÀÀµ£¬È·±£ÊäÈëÊý¾ÝÖÊÁ¿£¬µ÷½âµ÷Àí²ÎÊý¡£
ÉèÖùýʧClassNotFoundExceptionºÍNoClassDefFoundError£ºÈ±ÉÙÐëÒªµÄÀà»òÒÀÀµ°ü¡£SparkConfÉèÖùýʧ£ºÈç²ÎÊýÉèÖò»µ±µ¼ÖÂÖ´ÐÐʧ°Ü¡£½â¾ö½¨Ò飺ȷ±£ÇéÐεÄÒ»ÖÂÐÔ£¬ºÏÀíÉèÖÃÒÀÀµºÍ²ÎÊý¡£Êý¾ÝÒì³£ÊäÈëÊý¾ÝÃûÌùýʧ£ºÊý¾ÝÃûÌò»ÇкÏÔ¤ÆÚ£¬µ¼ÖÂÆÊÎöʧ°Ü¡£
Êý¾ÝÇãб£º²¿·ÖÊý¾Ý¹ý´ó£¬Ó°ÏìÕûÌåʹÃüµÄÐÔÄÜ¡£½â¾ö½¨Ò飺ÔöÌíÊý¾ÝÔ¤´¦Öóͷ£¡¢½ÓÄɲÉÑù¡¢Ê¹Óù㲥±äÁ¿µÈ¡£
ÔĶÁ¿ÍÕ»¸ú×Ù¿ÍÕ»¸ú×ÙÊǹýʧÐÅÏ¢µÄ¡°Éí·ÝÖ¤¡±¡£ÑØ×ÅŲÓÃÁ´Ï¸¾¿£¬Í¨³£Äܶ¨Î»µ½ÏêϸµÄ´úÂëλÖûòÒÀÀµÎÊÌâ¡£
ÅÌÎʹýʧÂëÓëÒì³£ÀàÐͽ«¹ýʧ´úÂë»òÒì³£ÀàÐÍ×÷ΪҪº¦´Ê£¬ËÑË÷¹Ù·½Îĵµ»òÉçÇø×ÊÁÏ£¬¿ìËÙÕÒµ½½â¾ö¼Æ»®¡£
Á¬ÏµÇéÐÎÓëÉèÖÃÆÊÎö˼Á¿Ó²¼þÉèÖá¢Spark°æ±¾¡¢¼¯Èº×´Ì¬µÈÍⲿÒòËØ£¬É¨³ýÍâΧӰÏì¡£
ʹÓÃÈÕÖ¾ÖÎÀí¹¤¾ßÁ¬ÏµÈçSparkUI¡¢Ganglia¡¢PrometheusµÈ¹¤¾ß£¬¾ÙÐÐÈ«¾Ö¼à¿ØºÍ±È¶Ô¡£
µÚ¶þ²¿·ÖÄÚÈݽ«ÉîÈë̽ÌÖÔõÑù¹¹½¨Ò»Ì×ÓÐÓõĹýʧÅŲéÕ½ÂÔ£¬ÒÔ¼°ÔÚÒ»Ñùƽ³£ÊÂÇéÖÐÔõÑùʹÓÃÕâЩÐÅÏ¢Ò»Á¬ÓÅ»¯SparkÐÔÄÜ¡£
Ã÷È·¹ýʧÐÅÏ¢µÄ±³ºóÂß¼£¬ÊdzÉΪ¡°Spark¹ÊÕÏɨ³ý´ïÈË¡±µÄµÚÒ»²½¡£ÔÚʵսÖУ¬ÏµÍ³»¯µÄÅŲéÁ÷³ÌÄÜÈÃÄãʰ빦±¶¡£ÒÔÏÂÄÚÈݽ«Ö¸µ¼Ä㽨ÉèÒ»Ì׿ÆÑ§¡¢ÊÊÓõĹýʧ´¦Öóͷ£ÏµÍ³£¬²¢ÏÈÈÝһЩ¹¤¾ßºÍ¼¼ÇÉ£¬×ÊÖúÄãÔÚÓöµ½ÖÖÖÖÒ쳣ʱÓÎÈÐÓÐÓà¡£
ÆðÔ´ÆÊÎö£º²¶»ñÍêÕûµÄÒì³£ÐÅÏ¢±£´æÏêϸµÄÈÕÖ¾ºÍ¿ÍÕ»£¬È·±£»ñÈ¡×ã¹»µÄÏßË÷¡£ÊÓ²ìÒì³£·ºÆðµÄʱ¼äµã¡¢Ê¹ÃüÀàÐÍ¡¢Éæ¼°µÄÊý¾Ý¹æÄ£¡£±æÊ¶¹ýʧ·ÖÀà×ÊÔ´¹ýʧ£ºÄÚ´æ¡¢Ó²ÅÌ¡¢ÍøÂçÏà¹Ø¡£ÒÀÀµ¹ýʧ£ºÈ±Ê§Jar°ü¡¢³åÍ»»ò°æ±¾²»Æ¥Åä¡£Âß¼¹ýʧ£º´úÂëÒì³£¡¢Êý¾ÝÃûÌÃÒì³£¡£
ϵͳ¹ýʧ£º¼¯Èºå´»ú¡¢ÉèÖò»µ±¡£¾«×¼¶¨Î»ÎÊÌâȪԴʹÓÿÍÕ»¸ú×ÙÕÒµ½ÍÉ»¯µÄ´úÂë¶Î¡£Á¬ÏµÇéÐÎÐÅÏ¢¼ì²é×ÊԴʹÓÃ״̬¡£¸´ÏÖÎÊÌ⣺ÔÚÍâµØÇéÐÎÄ£Ä⣬ËõСÎÊÌâ¹æÄ£¡£½â¾ö¼Æ»®Öƶ©ÉèÖõ÷½â£ºÔöÌíÄÚ´æ¡¢Ìá½»²ÎÊýϸµ÷¡£Êý¾ÝÔ¤´¦Öóͷ££ºÏ´åªÊý¾Ý¡¢×èÖ¹Çãб¡£´úÂëÓÅ»¯£º¼ò»¯Âß¼¡¢Ìá¸ßÈÝ´íÄÜÁ¦¡£
¸üÐÂÒÀÀµ£ºÐÞ¸´°æ±¾³åÍ»¡£ÑéÖ¤ºÍ¼à¿ØÖØÆôʹÃü»ò×÷Òµ£¬È·ÈϹýʧÒѽâ¾ö¡£Ò»Á¬¼à¿ØÏà¹ØÖ¸±ê£¬×èÖ¹ÀàËÆÎÊÌâÖØ¸´±¬·¢¡£
SparkUIÌṩÏêϸµÄʹÃüºÍ½×¶ÎÐÅÏ¢£¬×ÊÖú¿ìËÙ·¢Ã÷Òì³£½Úµã»òʹÃüÆ¿¾±¡£
ÈÕÖ¾¾ÛºÏƽ̨ÈçELK£¨Elasticsearch,Logstash,Kibana£©£¬¼¯ÖÐÖÎÀíº£Á¿ÈÕÖ¾£¬ÊµÏÖÒªº¦´ÊËÑË÷ºÍÒì³£¸æ¾¯¡£
ÐÔÄܼà²â¹¤¾ßʹÓÃGrafana+PrometheusÒ»Á¬¸ú×Ù×ÊԴʹÓá¢Ê¹Ãü״̬£¬ÎªÅŲéÌṩÊý¾ÝÖ§³Ö¡£
×Ô¶¯»¯Õï¶Ï¾ç±¾¿ª·¢¾ç±¾×Ô¶¯ÆÊÎöÈÕ־ģʽ£¬Ìáǰʶ±ðDZÔÚµÄΣº¦µã£¬ºÃ±ÈƵÈÔµÄʹÃüʧ°Ü»ò×ÊԴй¶¡£
ÉçÇøÓëÎĵµ×ÊÔ´¸»ºñµÄSpark¹Ù·½Îĵµ£¬ÒÔ¼°StackOverflow¡¢GitHubµÈÉçÇø£¬ÄÜÌṩº£Á¿µÄÂÄÀú²Î¿¼Ï¢Õù¾ö¼Æ»®¡£
ѧ»á¿ìËÙ¶¨Î»£ºÇмdz£¼û¹ýʧµÄµä·¶¿ÍÕ»ÌØÕ÷ºÍÉèÖÃÏÝÚå¡£¼á³ÖÓÅÒìµÄÈÕ־ϰ¹ß£º°´ÆÚϴ媡¢·ÖÀàºÍ¹éµµÈÕÖ¾¡£Ò»Á¬Ñ§Ï°£º¹Ø×¢Spark°æ±¾¸üкÍзºÆðµÄÓÅ»¯µã¡£
βÉù¡¡×¼È·Ã÷È·ºÍÓ¦¶ÔSparkÖеĹýʧÐÅÏ¢£¬Êǰü¹Ü´óÊý¾Ý´¦Öóͷ£Á÷³Ì˳Ëì¾ÙÐеĻù´¡¡£ÎÞÂÛÊǼòÆÓµÄÉèÖõ÷ÓÅ£¬ÕÕ¾ÉÖØ´óµÄÇéÐιÊÕÏÅŲ飬կÎÕ¿ÆÑ§µÄ¼¼ÇÉ¡¢½èÖúÓÐÓõŤ¾ß£¬¶¼ÄÜÈÃÄãÔÚ´óÊý¾ÝµÄº£ÑóÖÐÓÎÈÐÓÐÓà¡£Ô¸ÄãÔÚÈÕ¸´Ò»ÈÕµÄʵ¼ùÖУ¬Öð½¥³ÉΪһÃûÕæÕýµÄ¡°Spark¹ÊÕÏÅŲé¾Þ½³¡±£¬ÈùýʧÄð³ÉѧϰµÄÆõ»ú£¬ÈÃÄãµÄÊý¾ÝÖ®ÂÃÎÞÏÞ¾«²Ê£¡