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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
Apache Flink ÔÚ eBay ¼à¿ØÏµÍ³ÉϵÄʵ¼ùºÍÓ¦ÓÃ
 
×÷Õߣº¹ËÐÀâù
 
  1969  次浏览      29
2020-11-27
 
±à¼­ÍƼö:
±¾ÎÄÖ÷Òª½éÉÜÁË¼à¿ØÏµÍ³ Flink µÄÏÖ×´¡¢ÔªÊý¾ÝÇý¶¯¡¢Flink ×÷ÒµµÄÓÅ»¯ºÍ¼à¿Ø¼°ÊµÀý¡£
±¾ÎÄÀ´×ÔÓÚ Flink ÖÐÎÄÉçÇø£¬ÓÉ»ðÁú¹ûÈí¼þLinda±à¼­¡¢ÍƼö¡£

Sherlock.IO ÊÇ eBay ÏÖÓÐµÄ¼à¿ØÆ½Ì¨£¬Ã¿ÌìÒª´¦ÀíÉϰÙÒÚÌõÈÕÖ¾¡¢Ê¼þºÍÖ¸±ê¡£Flink Streaming job ʵʱ´¦ÀíϵͳÓÃÓÚ´¦ÀíÆäÖеÄÈÕÖ¾ºÍʼþ¡£±¾ÎĽ«½áºÏ¼à¿ØÏµÍ³ Flink µÄÏÖ×´£¬¾ßÌå½²Êö Flink ÔÚ¼à¿ØÏµÍ³ÉϵÄʵ¼ùºÍÓ¦Óã¬Ï£Íû¸øÍ¬ÒµÈËԱһЩ½è¼øºÍÆô·¢¡£

Ò». ¼à¿ØÏµÍ³ Flink µÄÏÖ×´

eBay µÄ¼à¿ØÆ½Ì¨ Sherlock.IO ÿÌì´¦Àí×ÅÉϰÙÒÚÌõÈÕÖ¾£¨log£©£¬Ê¼þ£¨event£©ºÍÖ¸±ê£¨metric£©¡£Í¨¹ý¹¹½¨ Flink Streaming job ʵʱ´¦Àíϵͳ£¬¼à¿ØÍŶÓÄܹ»¼°Ê±½«ÈÕÖ¾ºÍʼþµÄ´¦Àí½á¹û·´À¡¸øÓû§¡£µ±Ç°£¬¼à¿ØÍŶÓά»¤×Å 8 ¸ö Flink ¼¯Èº£¬×î´óµÄ¼¯Èº¹æÄ£´ïµ½ÉÏǧ¸ö TaskManager£¬×ܹ²ÔËÐÐ×ÅÉϰٸö×÷Òµ£¨job£©£¬Ò»Ð©×÷ÒµÒѾ­Îȶ¨ÔËÐÐÁ˰ëÄêÒÔÉÏ¡£

¶þ. ÔªÊý¾ÝÇý¶¯

ΪÁËÈÃÓû§ºÍ¹ÜÀíÔ±Äܹ»¸ü¼Ó¿ì½ÝµØ´´½¨Flink×÷Òµ²¢µ÷Õû²ÎÊý£¬¼à¿ØÍŶÓÔÚ Flink ÉϴÁËÒ»Ì×ÔªÊý¾Ý΢·þÎñ£¨metadata service£©£¬¸Ã·þÎñÄܹ»ÓÃJsonÀ´ÃèÊöÒ»¸ö×÷ÒµµÄ DAG£¬ÇÒÏàͬµÄ DAG ¹²ÓÃͬһ¸ö×÷Òµ£¬Äܹ»¸ü¼Ó·½±ãµØ´´½¨×÷Òµ£¬ÎÞÐèµ÷Óà Flink API¡£Sherlock.IO Á÷´¦ÀíÕûÌåµÄ¼Ü¹¹Èçͼ1Ëùʾ¡£

ͼ1 Sherlock.IO Á÷´¦ÀíÕûÌå¼Ü¹¹

Ŀǰ£¬ÓÃÕâÌ×ÔªÊý¾Ý΢·þÎñ´´½¨µÄ×÷Òµ½öÖ§³ÖÒÔ Kafka ×÷ΪÊý¾ÝÔ´£¬Ö»ÒªÊý¾Ý½ÓÈëµ½ Kafka£¬Óû§¾Í¿ÉÒÔ¶¨Òå Capability À´´¦ÀíÂß¼­´Ó¶øÍ¨¹ý Flink Streaming ´¦ÀíÊý¾Ý¡£

1.ÔªÊý¾Ý΢·þÎñ

ÔªÊý¾Ý΢·þÎñ¿ò¼ÜÈçͼ 2 Ëùʾ£¬×îÉϲãÊÇÔªÊý¾Ý΢·þÎñÌṩµÄ Restful API, Óû§Í¨¹ýµ÷Óà API À´ÃèÊöºÍÌá½»×÷Òµ¡£ÃèÊö×÷ÒµµÄÔª¾Ý°üº¬Èý¸ö²¿·Ö£ºResource£¬Capability ºÍ Policy¡£Flink ÊÊÅäÆ÷£¨Adaptor£©Á¬½ÓÁË Flink Streaming API ºÍÔªÊý¾Ý΢·þÎñ API£¬ÇÒ»á¸ù¾ÝÔªÊý¾Ý΢·þÎñÃèÊöµÄ×÷Òµµ÷Óà Flink Streaming API À´´´½¨×÷Òµ£¬´Ó¶øÆÁ±Î Flink StreamAPI¡£

Òò´Ë£¬Óû§²»ÓÃÁ˽â Flink Streaming API ¾Í¿ÉÒÔ´´½¨ Flink ×÷Òµ¡£Î´À´Èç¹ûÐèÒªÇ¨ÒÆµ½ÆäËûµÄÁ÷´¦Àí¿ò¼Ü£¬Ö»ÒªÔö¼ÓÒ»¸öÊÊÅäÆ÷£¬¾Í¿ÉÒÔ½«ÏÖÓеÄ×÷ÒµÇ¨ÒÆµ½ÐµÄÁ÷´¦Àí¿ò¼ÜÉÏ¡£

ͼ2 ÔªÊý¾Ý΢·þÎñ¿ò¼Ü

Capability

Capability ¶¨ÒåÁË×÷ÒµµÄ DAG ÒÔ¼°Ã¿¸öËã×Ó£¨Operator£©ËùÓÃµÄ Class£¬Í¼ 3 ÊÇʼþ´¦Àí(eventProcess) Capability£¬Ëü×îÖÕ»áÉú³ÉÈçͼ 4 µÄ DAG¡£Ê¼þ´¦Àí Capability ÏÈ´Ó Kafka ¶Á³öÊý¾Ý£¬ÔÙдµ½ Elasticsearch ÖС£¸Ã Capability ½«¸Ã×÷ÒµÃüÃûΪ¡°eventProcess¡±£¬²¢¶¨ÒåÆä²¢ÐжÈΪ¡°5¡±£¬ÆäËã×ÓΪ¡°EventEsIndexSinkCapability¡±£¬ ÆäÊý¾ÝÁ÷Ϊ¡°Source ¨C> sink¡±¡£

ͼ3 eventESSink Capability

ͼ4 Éú³ÉµÄFlink×÷Òµ

Policy

ÿ¸öÃüÃû¿Õ¼ä£¨Namespace£©ÐèÒª¶¨ÒåÒ»¸ö»ò¶à¸ö Policy£¬Ã¿¸ö Policy Ö¸¶¨ÁËÏàÓ¦µÄ Capability£¬¼´Ö¸¶¨ÁËÓÃÄÄÒ»Ì× DAG À´ÔËÐÐÕâ¸ö Policy¡£Policy »¹¶¨ÒåÁËÕâ¸ö×÷ÒµµÄÏà¹ØÅäÖã¬ÀýÈç´ÓÄĸö Kafka topic ÖжÁÈ¡Êý¾Ý£¬Ð´µ½ ElasticSearch µÄÄĸöË÷Òý£¨Index£©ÖУ¬ÖмäÊÇ·ñÒªÌø¹ýijЩËã×ӵȵȡ£

Æä´Î£¬Policy »¹ÄÜ×÷Ϊһ¸ö¼òÒ׵ĹýÂËÆ÷£¨Filter£©£¬¿ÉÒÔͨ¹ýÅäÖà Jexl ±í´ïʽ¹ýÂ˵ôһЩ²»ÐèÒªµÄÊý¾Ý£¬Ìá¸ß×÷ÒµµÄÍÌÍÂÁ¿¡£

ÁíÍ⣬ÎÒÃÇ»¹ÊµÏÖÁË Zookeeper ¶¨Ê±¸üеĻúÖÆ£¬Ê¹µÃ Policy Ð޸ĺó²»ÔÙÐèÒªÖØÆô×÷Òµ£¬Ö»ÒªÊÇÔÚ¸üÐÂʱ¼ä¼ä¸ôÄÚ£¬¸ÃÃüÃû¿Õ¼äµÄ Policy Ð޸ľͻᱻ×Ô¶¯Ó¦Óõ½×÷ÒµÉÏ¡£Í¼ 5 ÊÇÃüÃû¿Õ¼äΪ paas µÄ Policy ʾÀý¡£

ͼ5 paas alertESSink Policy

Resource

Resource ¶¨ÒåÁËij¸öÃüÃû¿Õ¼äËùÐèÒªµÄ×ÊÔ´£¬±ÈÈç Flink ¼¯Èº£¬ Kafka broker£¬ES ¼¯ÈºµÈµÈ¡£ÎÒÃÇÓжà¸ö Flink ¼¯ÈººÍ ES ¼¯Èº£¬Í¨¹ý Resource ÅäÖã¬×÷Òµ¿ÉÒÔÖªµÀij¸öÃüÃû¿Õ¼äµÄÈÕÖ¾Ó¦¸Ãдµ½Äĸö ES ¼¯Èº£¬²¢¿ÉÒÔÅжϸÃÃüÃû¿Õ¼äµÄÊý¾ÝÓ¦¸Ã´ÓÄĸö Kafka ¼¯Èº¶ÁÈ¡¡£

2.¹²Ïí×÷Òµ

ΪÁ˼õÉÙ×÷ÒµÊýÁ¿£¬ÎÒÃÇ¿ÉÒÔÈÃÏàͬµÄ DAG ¸´ÓÃͬһ¸ö×÷Òµ¡£ÎÒÃÇÏȸø²»Í¬µÄ Policy Ö¸¶¨ÏàͬµÄ Capability£¬Ôڸà Capability ×ÊÔ´×ã¹»µÄÇé¿öÏ£¬ÕâЩ Policy ¾Í»á±»µ÷¶Èµ½Í¬Ò»¸ö×÷ÒµÉÏ¡£

ÒÔ SQL µÄ Capability ΪÀý£¬Ã¿¸ö Policy µÄ SQL Óï¾ä²»¾¡Ïàͬ£¬Èç¹ûΪÿ¸ö Policy ¶¼´´½¨Ò»¸ö×÷Òµ£¬ Job Manager µÄ¿ªÏú¾Í»áºÜ´ó£¬ÇÒ²»ºÃ¹ÜÀí¡£Òò´Ë£¬ÎÒÃÇ¿ÉÒÔΪ SQL Capability ÅäÖà 20 ¸ö Slot£¬Ã¿¸ö Policy Õ¼ÓÃÒ»¸ö Slot¡£ÄÇô¸Ã Capability Éú³ÉµÄ×÷Òµ¾Í¿ÉÒÔÔËÐÐ 20 ¸ö Policy¡£

×÷ÒµÔËÐÐʱ£¬´Ó Source ¶Á½øÀ´µÄÊý¾Ý»á±»´òÉÏÏàÓ¦ Policy µÄ±êÇ©£¬²¢Ö´Ðиà Policy ¶¨ÒåµÄ SQL Óï¾ä£¬´Ó¶øÊµÏÖ²»Í¬ Policy ¹²Ïíͬһ¸ö×÷Òµ£¬´ó´ó¼õÉÙÁË×÷ÒµµÄÊýÁ¿¡£

Óù²Ïí×÷Òµ»¹ÓÐÒ»¸öºÃ´¦£ºÈç¹û¶à¸öÃüÃû¿Õ¼äµÄÊý¾ÝÔÚÒ»¸ö Kafka topic ÀÄÇôֻҪ¶ÁÒ»±éÊý¾Ý¼´¿É£¬²»ÓÃÿ¸öÃüÃû¿Õ¼ä¶¼¶ÁÒ»´Î topic ÔÙ¹ýÂË£¬ÕâÑù¾Í´ó´óÌá¸ßÁË´¦ÀíµÄЧÂÊ¡£

Èý. Flink ×÷ÒµµÄÓÅ»¯ºÍ¼à¿Ø

Á˽âÔªÊý¾ÝÇý¶¯ºó£¬ÈÃÎÒÃÇÀ´¿´¿´¿ÉÒÔͨ¹ýÄÄЩ·½·¨ÊµÏÖ Flink ×÷ÒµµÄ¶øÓÅ»¯ºÍ¼à¿Ø¡£

1.Heartbeat

ÔÚ Flink ¼¯ÈºµÄÔËά¹ý³ÌÖУ¬ÎÒÃǺÜÄÑ¼à¿Ø×÷ÒµµÄÔËÐÐÇé¿ö¡£¼´Ê¹¿ªÆôÁ˼ì²éµã£¨checkpoint£©£¬ÎÒÃÇÒ²ÎÞ·¨È·¶¨ÊÇ·ñ¶ªÊ§Êý¾Ý»ò¶ªÊ§Á˶àÉÙÊý¾Ý¡£Òò´Ë£¬ÎÒÃÇΪÿ¸ö×÷Òµ×¢ÈëÁË Heartbeat ÒÔ¼à¿ØÆäÔËÐÐÇé¿ö¡£

Heartbeat ¾ÍÏñ Flink ÖÐÓÃÀ´¼à¿ØÑӳٵġ°LatencyMarker¡±Ò»Ñù£¬Ëü»áÁ÷¹ýÿ¸ö×÷ÒµµÄ¹ÜµÀ¡£µ«Óë LatencyMarker ²»Í¬µÄÊÇ£¬µ± Heartbeat Óöµ½ DAG µÄ·Ö֧ʱ£¬Ëü»á·ÖÁѲ¢Á÷Ïòÿ¸ö·ÖÖ§£¬¶ø²»Ïñ LatencyMarker ÄÇÑùËæ»úÁ÷Ïòijһ¸ö·ÖÖ§¡£ÁíÒ»¸ö²»Í¬µãÔÚÓÚ Heartbeat ²»ÊÇÓÉ Flink ×ÔÉí²úÉú£¬¶øÊÇÓÉÔªÊý¾Ý΢·þÎñ¶¨Ê±²úÉú£¬¶øºóÓÉÿ¸ö×÷ÒµÏû·Ñ¡£

Èçͼ 4 Ëùʾ£¬Ã¿¸ö×÷ÒµÔÚÆô¶¯µÄʱºò»áĬÈϼÓÒ»¸ö Heartbeat µÄÊý¾ÝÔ´¡£Heartbeat Á÷Èëÿ¸ö×÷Òµºó£¬»áËæÊý¾ÝÁ÷Ò»Æð¾­¹ýÿ¸ö½Úµã£¬ÔÚÿ¸ö½ÚµãÉÏ´òÉϵ±Ç°½ÚµãµÄ±êÇ©£¬È»ºóÌø¹ý¸Ã½ÚµãµÄ´¦ÀíÂß¼­Á÷Ïòϸö½Úµã¡£Ö±µ½ Heartbeat Á÷µ½×îºóÒ»¸ö½Úµãʱ£¬Ëü»áÒÔÖ¸±ê£¨Metric£©µÄÐÎʽ·¢Ë͵½ Sherlock.IO£¨eBay ¼à¿ØÆ½Ì¨£©¡£

¸ÃÖ¸±ê°üº¬ÁË Heartbeat ²úÉúµÄʱ¼ä£¬Á÷Èë×÷ÒµµÄʱ¼äÒÔ¼°µ½´ïÿ¸ö½ÚµãµÄʱ¼ä¡£Í¨¹ýÕâ¸öÖ¸±ê£¬ÎÒÃÇ¿ÉÒÔÅжϸÃ×÷ÒµÔÚ¶ÁÈ¡ kafka ʱÊÇ·ñÑÓʱ£¬ÒÔ¼°Ò»ÌõÊý¾Ý±»Õû¸ö¹ÜµÀ´¦ÀíËùÓõÄʱ¼äºÍÿ¸ö½Úµã´¦ÀíÊý¾ÝËùÓõÄʱ¼ä£¬½ø¶øÅжϸÃ×÷ÒµµÄÐÔÄÜÆ¿¾±¡£

ÓÉÓÚ Heartbeat ÊǶ¨Ê±·¢Ë͵ģ¬Òò´Ëÿ¸ö×÷ÒµÊÕµ½µÄ Heartbeat ¸öÊýÓ¦¸ÃÒ»Ö¡£Èô×îºó·¢³öµÄÖ¸±ê¸öÊýÓëÆÚÍû²»Ò»Ö£¬Ôò¿ÉÒÔ½øÒ»²½ÅжÏÊÇ·ñÓÐÊý¾Ý¶ªÊ§¡£

ͼ 6 ÃèÊöÁËij Flink ×÷ÒµÖеÄÊý¾ÝÁ÷ÒÔ¼° Heartbeat µÄÔËÐÐ״̬:

ͼ6 HeartbeatÔÚ×÷ÒµÖеÄÔËÐйý³Ì

2.¿ÉÓÃÐÔ

ÓÐÁË Heartbeat£¬ÎÒÃǾͿÉÒÔÀ´¶¨Ò弯ȺµÄ¿ÉÓÃÐÔ¡£Ê×ÏÈ£¬ÎÒÃÇÐèÒªÏȶ¨ÒåÔÚʲôÇé¿öÏÂÊôÓÚ²»¿ÉÓõģº

Flink ×÷ÒµÖØÆô

µ±ÄÚ´æ²»×㣨OutofMemory£©»ò´úÂëÔËÐдíÎóʱ£¬×÷Òµ¾Í¿ÉÄÜ»áÒâÍâÖØÆô¡£ÎÒÃÇÈÏÎªÖØÆô¹ý³ÌÖÐÔì³ÉµÄÊý¾Ý¶ªÊ§ÊDz»¿ÉÓõÄÇé¿öÖ®Ò»¡£Òò´ËÎÒÃǵÄÄ¿±êÖ®Ò»ÊÇÈà Flink ×÷ÒµÄܹ»³¤Ê±¼äÎȶ¨ÔËÐС£

Flink ×÷ÒµÖÐÖ¹

ÓÐʱÒòΪ»ù´¡ÉèÊ©µÄÎÊÌâµ¼ÖÂÎïÀí»ú»òÕßÈÝÆ÷ûÆô¶¯ÆðÀ´£¬»òÊÇÔÚ Flink ×÷Òµ·¢ÉúÖØÆôʱÓÉÓÚ Slot ²»¹»¶øÎÞ·¨Æô¶¯£¬»òÕßÊÇÒòΪ Flink ×÷ÒµµÄÖØÆô´ÎÊýÒѾ­³¬¹ýÁË×î´óÖØÆô´ÎÊý(rest.retry.max-attempts), Flink ×÷Òµ¾Í»áÖÐÖ¹¡£´ËʱÐèÒªÈ˹¤¸ÉÔ¤²ÅÄܽ«×÷ÒµÖØÐÂÆô¶¯ÆðÀ´¡£

ÎÒÃÇÈÏΪ Flink ×÷ÒµÖÐֹʱ£¬Ò²ÊDz»¿ÉÓõÄÇé¿öÖ®Ò»¡£

Flink ×÷ÒµÔÚÔËÐÐÖв»ÔÙ´¦ÀíÊý¾Ý

·¢ÉúÕâÖÖÇé¿ö£¬Ò»°ãÊÇÒòΪÓöµ½ÁË·´Ñ¹£¨BackPressure£©¡£Ôì³É·´Ñ¹µÄÔ­ÒòÓкܶàÖÖ£¬±ÈÈçÉÏÓεÄÁ÷Á¿¹ý´ó£¬»òÕßÊÇÖмäij¸öËã×ӵĴ¦ÀíÄÜÁ¦²»¹»£¬»òÕßÊÇÏÂÓδ洢½ÚµãÓöµ½ÐÔÄÜÆ¿¾±µÈµÈ¡£ËäÈ»¶Ìʱ¼äÄڵķ´Ñ¹²»»áÔì³ÉÊý¾Ý¶ªÊ§£¬µ«Ëü»áÓ°ÏìÊý¾ÝµÄʵʱÐÔ£¬×îÃ÷ÏԵı仯ÊÇÑÓ³ÙÕâ¸öÖ¸±ê»á±ä´ó¡£

ÎÒÃÇÈÏΪ·´Ñ¹·¢ÉúʱÊDz»¿ÉÓõÄÇé¿öÖ®Ò»¡£

Õë¶ÔÒÔÉÏÈýÖÖÇé¿ö£¬ÎÒÃǶ¼¿ÉÒÔÓà Heartbeat À´¼à¿Ø£¬²¢¼ÆËã¿ÉÓÃÐÔ¡£±ÈÈçµÚÒ»ÖÖÇé¿ö£¬Èç¹û×÷ÒµÖØÆôʱ·¢ÉúÁËÊý¾Ý¶ªÊ§£¬ÄÇôÏàÓ¦µÄÄǶιܵÀµÄ Heartbeat Ò²»á¶ªÊ§£¬´Ó¶øÎÒÃÇ¿ÉÒÔ¼à²â³öÊÇ·ñÓÐÊý¾Ý¶ªÊ§ÒÔ¼°´ÖÁ£¶ÈµØ¹ÀËãÊý¾Ý¶ªÁ˶àÉÙ¡£¶ÔÓÚµÚ¶þÖÖÇé¿ö£¬µ±×÷ÒµÖÐֹʱ£¬HeartBeat Ò²²»»á±»´¦Àí£¬Òò´Ë¿ÉÒԺܿ췢ÏÖ×÷ҵֹͣÔËÐв¢Èà on-call ¼°Ê±¸ÉÔ¤¡£µÚÈýÖÖÇé¿öµ±·´Ñ¹·¢Éúʱ£¬HeartBeat Ò²»á±»×èÈûÔÚ·¢Éú·´Ñ¹µÄÉÏÓΣ¬Òò´Ë on-call Ò²¿ÉÒÔºÜ¿ìµØ·¢ÏÖ·´Ñ¹·¢Éú²¢½øÐÐÈ˹¤¸ÉÔ¤¡£

×ÛÉÏ£¬Heartbeat ¿ÉÒԺܿì¼à²â³ö Flink ×÷ÒµµÄÔËÐÐÇé¿ö¡£ÄÇô£¬ÈçºÎÆÀ¹À¿ÉÓÃÐÔÄØ£¿ÓÉÓÚ Heartbeat ÊǶ¨Ê±·¢ÉúµÄ£¬Ä¬ÈÏÇé¿öÏÂÎÒÃÇÉèÖÃÿ 10 Ãë·¢Ò»´Î¡£1 ·ÖÖÓÄÚÎÒÃÇÆÚÍûÿ¸ö×÷ÒµµÄÿÌõ¹ÜµÀÄܹ»·¢³ö 6 ¸ö´øÓÐ×÷ÒµÐÅÏ¢µÄ heartbeat£¬ÄÇôÿÌì¾Í¿ÉÒÔÊÕµ½ 8640 ¸ö Heartbeat¡£

Òò´Ë£¬Ò»¸ö×÷ÒµµÄ¿ÉÓÃÐÔ¿ÉÒÔ¶¨ÒåΪ£º

3.Flink ×÷Òµ¸ôÀë

Slot ÊÇ Flink ÔËÐÐ×÷ÒµµÄ×îСµ¥Î»[1]£¬Ã¿¸ö TaskManager ¿ÉÒÔ·ÖÅäÒ»¸öÖÁ¶à¸ö Slot£¨Ò»°ã·ÖÅäµÄ¸öÊýΪ¸Ã TaskManager µÄ CPU Êý£©¡£¸ù¾Ý Flink ×÷ÒµµÄ²¢Ðжȣ¬Ò»¸ö×÷Òµ¿ÉÒÔ·ÖÅäµ½¶à¸ö TaskManager ÉÏ£¬¶øÒ»¸ö TaskManager Ò²¿ÉÄÜÔËÐÐ×Ŷà¸ö×÷Òµ¡£È»¶ø£¬Ò»¸ö TaskManager ¾ÍÊÇÒ»¸ö JVM£¬µ±¶à¸ö×÷Òµ·ÖÅäµ½Ò»¸ö TaskManager ÉÏʱ£¬¾Í»áÓÐÇÀ¶á×ÊÔ´µÄÇé¿ö·¢Éú¡£

ÀýÈ磬ÎÒÒ»¸ö TaskManager ·ÖÅäÁË 3 ¸ö Slot£¨3 ¸ö CPU£©ºÍ 8G ¶ÑÄÚ´æ¡£µ± JobManager µ÷¶È×÷ÒµµÄʱºò£¬ÓпÉÄܽ« 3 ¸ö²»Í¬×÷ÒµµÄÏ̵߳÷¶Èµ½¸Ã TaskManager ÉÏ£¬ÄÇôÕâ 3 ¸ö×÷Òµ¾Í»áͬʱÇÀ¶á CPU ºÍÄÚ´æµÄ×ÊÔ´¡£µ±ÆäÖÐÒ»¸ö×÷ÒµÌØ±ðºÄ CPU »òÄÚ´æµÄʱºò£¬¾Í»áÓ°ÏìÆäËûÁ½¸ö×÷Òµ¡£

ÔÚÕâÖÖÇé¿öÏ£¬ÎÒÃÇͨ¹ýÅäÖà Flink ¿ÉÒÔʵÏÖ×÷ÒµµÄ¸ôÀ룬Èçͼ 7 Ëùʾ:

ͼ7 Flink ×÷Òµ¸ôÀëǰºóµÄµ÷¶Èͼ

ͨ¹ýÅäÖãº

¡°taskmanager.numberOfTaskSlots: 1¡±:¿ÉÒÔÉèÖÃÿ¸öTaskManagerÖ»ÓÐÒ»¸öSlot;

¡°cpu_period¡±ºÍ¡°cpu_quota¡±:¿ÉÒÔÏÞ¶¨Ã¿¸öTaskManagerµÄCPU¸öÊý

¡°taskmanager.heap.mb¡±¿ÉÒÔÅäÖÃÿ¸öTaskManagerµÄJVMµÄÄÚ´æ´óС¡£

ͨ¹ýÒÔÉÏÅäÖ㬿ÉÒÔÏÞ¶¨Ã¿¸ö TaskManager ¶ÀÕ¼ CPU ºÍÄÚ´æµÄ×ÊÔ´£¬ÇÒ²»»á¶à¸ö×÷ÒµÇÀÕ¼£¬ÊµÏÖ×÷ÒµÖ®¼äµÄ¸ôÀë¡£

4.·´Ñ¹

ÎÒÃÇÔËά Flink ¼¯ÈºµÄʱºò·¢ÏÖ£¬³öÏÖ×î¶àµÄÎÊÌâ¾ÍÊÇ·´Ñ¹¡£ÔÚ 3.2 ÖÐÌáµ½¹ý£¬·¢Éú·´Ñ¹µÄÔ­ÒòÓкܶàÖÖ£¬µ«ÎÞÂÛʲôԭÒò£¬Êý¾Ý×îÖÕ¶¼»á±»»ýѹÔÚ·¢Éú·´Ñ¹ÉÏÓεÄËã×ӵı¾µØ»º³åÇø£¨localBuffer£©ÖС£

ÎÒÃÇÖªµÀ£¬Ã¿Ò»¸ö TaskManager ÓÐÒ»¸ö±¾µØ»º³å³Ø, ÿһ¸öËã×ÓÊý¾Ý½øÀ´ºó»á°ÑÊý¾ÝÌî³äµ½±¾µØ»º³å³ØÖУ¬Êý¾Ý´ÓÕâ¸öËã×Ó³öÈ¥ºó»á»ØÊÕÕâ¿éÄÚ´æ¡£µ±±»·´Ñ¹ºó£¬Êý¾Ý·¢²»³öÈ¥£¬±¾µØ»º³å³ØÄÚ´æ¾ÍÎÞ·¨ÊÍ·Å£¬µ¼ÖÂÒ»Ö±ÇëÇ󻺳åÇø£¨requestBuffer£©¡£

ÓÉÓÚ Heartbeat Ö»ÄÜ¼à¿Ø³öÊÇ·ñ·¢ÉúÁË·´Ñ¹£¬µ«ÎÞ·¨¶¨Î»µ½ÊÇÄĸöËã×Ó³öÁËÎÊÌ⣬Òò´ËÎÒÃǶ¨Ê±µØ½«Ã¿¸öËã× StackTrace ´òÓ¡³öÀ´£¬µ±·¢Éú·´Ñ¹Ê±£¬Í¨¹ý StackTrace ¾Í¿ÉÒÔÖªµÀÊÇÄĸöËã×ӵį¿¾±¡£

Èçͼ8Ëùʾ£¬ÎÒÃÇ¿ÉÒÔÇåÎúµØ¿´µ½·¢Éú·´Ñ¹µÄ Flink ×÷Òµ¼°ÆäËùÔÚµÄ Taskmanager¡£ÔÙͨ¹ý Thread Dump£¬ÎÒÃǾͿÉÒÔ¶¨Î»µ½´úÂëµÄÎÊÌâ¡£

ͼ8 ·¢Éú·´Ñ¹µÄStackTrace

5.ÆäËû¼à¿ØÊÖ¶Î

Flink ±¾ÉíÌṩÁ˺ܶàÓÐÓõÄÖ¸±ê[2]À´¼à¿Ø Flink ×÷ÒµµÄÔËÐÐÇé¿ö£¬ÔÚ´Ë»ù´¡ÉÏÎÒÃÇ»¹¼ÓÁËһЩҵÎñÉϵÄÖ¸±ê¡£³ý´ËÖ®Í⣬ÎÒÃÇ»¹Ê¹ÓÃÁËÒÔϹ¤¾ß¼à¿Ø Flink ×÷Òµ¡£

History server

Flink µÄ History server[3]¿ÉÒÔ²éѯÒÑÍê³É×÷ÒµµÄ״̬ºÍÖ¸±ê¡£±ÈÈçÒ»¸ö×÷ÒµµÄÖØÆô´ÎÊý¡¢ËüÔËÐеÄʱ¼ä¡£ÎÒÃdz£³£ÓÃËüÕÒ³öÔËÐв»Õý³£µÄ×÷Òµ¡£±ÈÈ磬ÎÒÃÇ¿ÉÒÔͨ¹ý History server µÄ attempt Ö¸±êÖªµÀÿ¸ö×÷ÒµÖØÆôµÄ´ÎÊý£¬´Ó¶ø¿ìËÙÈ¥ÏÖ³¡ÕÒµ½ÖØÆôµÄÔ­Òò£¬±ÜÃâÏ´ÎÔÙ·¢Éú¡£

¼à¿Ø×÷ÒµºÍ¼¯Èº

ËäÈ» Flink ÓÐ HA µÄģʽ£¬µ«ÔÚ¼«¶ËÇé¿öÏ£¬ÀýÈçÕû¸ö¼¯Èº³öÏÖÎÊÌâʱ£¬ÐèÒª on-call ¼´Ê±·¢¾õ²¢È˹¤¸ÉÔ¤¡£ÎÒÃÇÔÚÔªÊý¾Ý΢·þÎñÖб£´æÁË×îºóÒ»´ÎÌá½»×÷Òµ³É¹¦µÄÔªÊý¾Ý£¬Ëü¼Ç¼ÁËÔÚÿ¸ö Flink ¼¯ÈºÉÏÓ¦¸ÃÔËÐÐÄÄЩ×÷Òµ¡£ÊØ»¤Ị̈߳¨Daemon thread£©»áÿ·ÖÖÓÈ¥±È½ÏÕâ¸öÔªÊý¾ÝºÍ Flink ÉÏÔËÐеÄ×÷Òµ£¬Èô·¢ÏÖ JobManager Á¬²»Í¨»òÕßÓÐ×÷ÒµÔËÐв»Ò»ÖÂÔòÁ¢¿Ì·¢³ö¸æ¾¯£¨Alert£©Í¨Öª on-call¡£

ËÄ. ʵÀý

ÏÂÃæ½éÉܼ¸¸öÒѾ­ÔËÐÐÔÚ¼à¿ØÏµÍ³É쵀 Flink Á÷´¦ÀíϵͳµÄÓ¦Óãº

1.Event Alerting

µ±Ç°¼à¿ØÍŶÓÊÇ»ùÓÚ Flink Streaming ×öʼþ¸æ¾¯£¨Event alerting£©£¬ÎÒÃǶ¨ÒåÁËÒ»¸ö¸æ¾¯Ëã×Ó EventAlertingCapability£¬¸Ã Capability ¿ÉÒÔ´¦Àíÿ¸ö Policy ×Ô¶¨ÒåµÄ¹æÔò¡£Èçͼ 9 ¶¨ÒåµÄÒ»ÌõÐÔÄÜ¼à¿Ø¹æÔò£º

¸Ã¹æÔòµÄº¬ÒåÊǵ±ÐÔÄܼì²âÆ÷µÄÓ¦ÓÃΪ¡°r1rover¡±, Ö÷»úÒÔ¡°r1rover¡±¿ªÍ·£¬ÇÒÊýÖµ´óÓÚ 90 ʱ£¬¾Í´¥·¢¸æ¾¯¡£ÇÒÉú³ÉµÄ¸æ¾¯»á·¢Ë͵½Ö¸¶¨µÄ Kafka topic Öй©ÏÂÓμÌÐø´¦Àí¡£

ͼ9 Single-Threshold1 Policy

2.Eventzon

Eventzon ¾ÍÏñ eBay µÄʼþÖÐÐÄ£¬ËüÊÕ¼¯ÁË´Ó¸÷¸öÓ¦Ó㬿ò¼Ü£¬»ù´¡¼Ü¹¹·¢¹ýÀ´µÄʼþ£¬×îºóͨ¹ý¼à¿ØÍÅ¶ÓµÄ Flink Streaming ʵʱÉú³É¸æ¾¯¡£ÓÉÓÚ¸÷¸öʼþµÄÊý¾ÝÔ´²»Í¬£¬ËüÃǵÄÔªÊý¾ÝÒ²²»Í¬£¬Òò´ËÎÞ·¨ÓÃÒ»ÌõͳһµÄ¹æÔòÀ´ÃèÊöËü¡£

ÎÒÃÇרÃŶ¨ÒåÁËÒ»Ì××÷ÒµÀ´´¦Àí Eventzon µÄʼþ£¬Ëü°üº¬Á˶à¸ö Capability£¬±ÈÈç Filter Capability£¬ÓÃÀ´¹ýÂË·Ç·¨µÄ»òÕß²»·ûºÏÌõ¼þµÄʼþ; ÓÖ±ÈÈç Deduplicate Capability£¬¿ÉÒÔÓÃÀ´È¥³ýÖØ¸´µÄʼþ¡£Eventzon µÄËùÓÐʼþ¾­¹ýÒ»ÕûÌ××÷Òµºó£¬»áÉú³ÉÓÐЧµÄ¸æ¾¯£¬²¢¸ù¾Ý֪ͨ»úÖÆÍ¨¹ý E-mail¡¢Slack »ò Pagerduty ·¢¸øÏà¹ØÍŶӡ£

3.Netmon

Netmon µÄÈ«³ÆÎª Network Monitoring, ¼´ÍøÂç¼à¿Ø£¬Ëü¿ÉÒÔÓÃÀ´¼à¿ØÕû¸ö eBay ÍøÂçÉ豸µÄ½¡¿µ×´Ì¬¡£ËüµÄÊý¾ÝÔ´À´×Ô eBay µÄ½»»»»ú£¬Â·ÓÉÆ÷µÈÍøÂçÉ豸µÄÈÕÖ¾¡£Netmon µÄ×÷ÓÃÊǸù¾ÝÕâЩÈÕÖ¾ÕÒ³öÒ»Ð©ÌØ¶¨µÄÐÅÏ¢£¬ÍùÍùÊÇһЩ´íÎóµÄÈÕÖ¾£¬ÒÔ´ËÀ´Éú³É¸æ¾¯¡£

eBay µÄÿһ̨É豸¶¼Òª¡°µÇ¼ÇÔì²á¡±£¬Ã¿Ì¨É豸½«ÈÕÖ¾·¢¹ýÀ´ºó£¬ÎÒÃÇͨ¹ý EnrichCapability ´Ó¡°²á×Ó¡±ÖвéѯÕą̂É豸µÄÐÅÏ¢£¬²¢°ÑÏà¹ØÐÅÏ¢±ÈÈç IP µØÖ·£¬ËùÔÚµÄÊý¾ÝÖÐÐÄ£¬ËùÔڵĻú¼ÜµÈÌî³äµ½ÈÕÖ¾ÐÅÏ¢ÖÐ×÷Ϊʼþ±£´æ¡£µ±É豸²úÉúÒ»Ð©ÌØ¶¨µÄ´íÎóÈÕ־ʱ, Ëü»á±»ÏàÓ¦µÄ¹æÔòÆ¥ÅäÈ»ºóÉú³É¸æ¾¯£¬¸Ã¸æ¾¯»á±» EventProcess Capability ±£´æµ½ Elasticsearch ÖÐʵʱÏÔʾµ½ Netmon µÄ¼à¿ØÆ½Ì¨£¨dashboard£©ÉÏ¡£ÓÐʱÒòÎªÍøÂç¶¶¶¯µ¼ÖÂһЩ¶ÌÔݵĴíÎó·¢Éú£¬µ«ÏµÍ³¹ýÒ»»á¶ù¾Í»á×Ô¶¯»Ö¸´¡£

µ±ÉÏÊöÇé¿ö·¢Éúʱ£¬Netmon »áÓÐÏàÓ¦µÄ¹æÔò½«·¢ÉúÔÚÍøÂç¶¶¶¯Ê±Éú³ÉµÄ¸æ¾¯±ê¼ÇΪ¡°Òѽâ¾ö¡±£¨Resolved£©¡£¶ÔÓÚһЩ±ØÐëÈ˹¤¸ÉÔ¤µÄ¸æ¾¯£¬ÔËάÈËÔ±¿ÉÒÔͨ¹ýÍøÂç¼à¿ØÆ½Ì¨£¨Netmon dashboard£©ÊÖ¶¯µã»÷¡°Òѽâ¾ö¡±£¬Íê³É¸Ã¸æ¾¯µÄÉúÃüÖÜÆÚ¡£

Îå. ×ܽáÓëÕ¹Íû

eBay µÄ¼à¿ØÍŶÓÏ£ÍûÄܸù¾ÝÓû§ÌṩµÄÖ¸±ê¡¢Ê¼þºÍÈÕÖ¾ÒÔ¼°ÏàÓ¦µÄ¸æ¾¯¹æÔòʵʱ¸æ¾¯Óû§¡£Flink Streaming Äܹ»ÌṩµÍÑÓʱµÄ´¦Àí´Ó¶øÄܹ»´ïµ½ÎÒÃǵÍÑÓʱµÄÒªÇ󣬲¢ÇÒËüÊʺϱȽϸ´ÔӵĴ¦ÀíÂß¼­¡£

È»¶øÔÚÔËά Flink µÄ¹ý³ÌÖУ¬ÎÒÃÇÒ²·¢ÏÖÁËÓÉÓÚ×÷ÒµÖØÆôµÈÔ­Òòµ¼ÖÂÎó±¨ÉÙ±¨¸æ¾¯µÄÇé¿ö·¢Éú£¬´Ó¶øÎ󵼿ͻ§¡£Òò´Ë½ñºóÎÒÃÇ»áÔÚ Flink µÄÎȶ¨ÐԺ͸߿ÉÓÃÐÔÉÏͶÈë¸ü¶à¡£ÎÒÃÇҲϣÍûÔÚ¼à¿ØÖ¸±ê¡¢ÈÕÖ¾ÉÏÄܹ»¼¯³ÉһЩ¸´Ô AI Ëã·¨£¬´Ó¶øÄܹ»Éú³É¸ü¼ÓÓÐЧ¾«È·µÄ¸æ¾¯£¬³ÉΪÔËάÈËÔ±µÄÒ»°ÑÀûÆ÷¡£

 

 

 
   
1969 ´Îä¯ÀÀ       29
Ïà¹ØÎÄÕÂ

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

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

Êý¾ÝÖÎÀí¡¢Êý¾Ý¼Ü¹¹¼°Êý¾Ý±ê×¼
MongoDBʵս¿Î³Ì
²¢·¢¡¢´óÈÝÁ¿¡¢¸ßÐÔÄÜÊý¾Ý¿âÉè¼ÆÓëÓÅ»¯
PostgreSQLÊý¾Ý¿âʵսÅàѵ
×îл¼Æ»®
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢ 6-12[ÏÃÃÅ]
È˹¤ÖÇÄÜ.»úÆ÷ѧϰTensorFlow 6-22[Ö±²¥]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 6-30[±±¾©]
ǶÈëʽÈí¼þ¼Ü¹¹-¸ß¼¶Êµ¼ù 7-9[±±¾©]
Óû§ÌåÑé¡¢Ò×ÓÃÐÔ²âÊÔÓëÆÀ¹À 7-25[Î÷°²]
ͼÊý¾Ý¿âÓë֪ʶͼÆ× 8-23[±±¾©]
 
×îÐÂÎÄÕÂ
´óÊý¾Ýƽ̨ϵÄÊý¾ÝÖÎÀí
ÈçºÎÉè¼ÆÊµÊ±Êý¾Ýƽ̨£¨¼¼Êõƪ£©
´óÊý¾Ý×ʲú¹ÜÀí×ÜÌå¿ò¼Ü¸ÅÊö
Kafka¼Ü¹¹ºÍÔ­Àí
ELK¶àÖּܹ¹¼°ÓÅÁÓ
×îпγÌ
´óÊý¾Ýƽ̨´î½¨Óë¸ßÐÔÄܼÆËã
´óÊý¾Ýƽ̨¼Ü¹¹ÓëÓ¦ÓÃʵս
´óÊý¾ÝϵͳÔËά
´óÊý¾Ý·ÖÎöÓë¹ÜÀí
Python¼°Êý¾Ý·ÖÎö
³É¹¦°¸Àý
ijͨÐÅÉ豸ÆóÒµ PythonÊý¾Ý·ÖÎöÓëÍÚ¾ò
Ä³ÒøÐÐ È˹¤ÖÇÄÜ+Python+´óÊý¾Ý
±±¾© Python¼°Êý¾Ý·ÖÎö
ÉñÁúÆû³µ ´óÊý¾Ý¼¼Êõƽ̨-Hadoop
ÖйúµçÐÅ ´óÊý¾Ýʱ´úÓëÏÖ´úÆóÒµµÄÊý¾Ý»¯ÔËӪʵ¼ù