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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
ÃÀͼ´óÊý¾Ýƽ̨¼Ü¹¹Êµ¼ù
 
  2261  次浏览      27
 2018-10-10
 
±à¼­ÍƼö:
±¾ÎÄÀ´×ÔÓÚcsdn£¬±¾ÎĽéÉÜÁËÃÀͼÔڴÍêÊý¾Ýƽ̨²¢¿ª·Å¸ø¸÷¸öÒµÎñÏßʹÓÃºó£¬¶ÔÆ½Ì¨Îȶ¨ÐÔ×öµÄһЩʵ¼ùºÍÓÅ»¯¡£

Èç½ñ´óÊý¾ÝÔÚ¸÷ÐÐÒµµÄÓ¦ÓÃÔ½À´Ô½¹ã·º£ºÔËÓª»ùÓÚÊý¾Ý¹Ø×¢ÔËӪЧ¹û£¬²úÆ·»ùÓÚÊý¾Ý·ÖÎö¹Ø×¢×ª»¯ÂÊÇé¿ö£¬¿ª·¢»ùÓÚÊý¾ÝºâÁ¿ÏµÍ³ÓÅ»¯Ð§¹ûµÈ¡£ÃÀͼ¹«Ë¾ÓÐÃÀÅÄ¡¢ÃÀͼÐãÐã¡¢ÃÀÑÕÏà»úµÈÊ®¼¸¸ö app£¬Ã¿¸ö app ¶¼»á»ùÓÚÊý¾Ý×ö¸öÐÔ»¯ÍƼö¡¢ËÑË÷¡¢±¨±í·ÖÎö¡¢·´×÷±×¡¢¹ã¸æµÈ£¬ÕûÌå¶ÔÊý¾ÝµÄÒµÎñÐèÇó±È½Ï¶à¡¢Ó¦ÓÃÒ²±È½Ï¹ã·º¡£

Òò´ËÃÀͼÊý¾Ý¼¼ÊõÍŶӵÄÒµÎñ±³¾°Ö÷ÒªÌåÏÖÔÚ£ºÒµÎñÏß¶àÒÔ¼°Ó¦ÓñȽϹ㷺¡£ÕâÒ²ÊÇ´ÙʹÎÒÃǴÊý¾Ýƽ̨µÄÒ»¸ö×îÖ÷ÒªµÄÔ­Òò£¬ÓÉÒµÎñÇý¶¯¡£

¾Ù¼¸¸öÃÀͼµÄÊý¾ÝÓ¦Óð¸Àý¡£Èçͼ 1 Ëùʾ£¬×óÆðµÚÒ»ÕÅÊÇÃÀͼ×ÔÑеÄÊý¾Ý¿ÉÊÓ»¯Æ½Ì¨ DataFace£¬Ö§³ÖÒµÎñ·½×ÔÓÉÍÏ×§Éú³É¿ÉÊÓ»¯±¨±í£¬±ãÓÚ¸ßЧµÄ×öÊý¾Ý±¨±íÒÔ¼°ºóÐøµÄ·ÖÎö£»µÚ¶þÕÅÊÇÃÀÅÄ APP µÄÊ×Ò³£¬ÈÈßöÐÔ»¯ÍƼö£¬»ùÓÚÓÃÓÚµÄÐÐΪÊý¾Ý£¬ÎªÓû§ÍƼö¿ÉÄÜϲ»¶¡¢¸ÐÐËȤµÄÊÓÆµÁÐ±í£»µÚÈýÕÅÊÇ»ùÓÚÓû§µÄ×÷±×µÄÊý¾Ý£¬¸ù¾ÝÒ»¶¨µÄÄ£ÐÍÓë²ßÂÔ½øÐз´×÷±×£¬ÓÐЧÅжϡ¢¹ýÂËÓû§µÄ×÷±×ÐÐΪ¡£³ý´ËÖ®Í⣬°üÀ¨ËÑË÷¡¢a/b ʵÑé¡¢ÇþµÀ¸ú×Ù¡¢¹ã¸æµÈ·½Ãæ¶¼Óй㷺ӦÓá£

µ±Ç°ÃÀͼÿÔÂÓÐ 5 ÒÚ»îÔ¾Óû§£¬ÕâЩÓû§Ã¿Ìì²úÉú½Ó½ü 200 ÒÚÌõµÄÐÐΪÊý¾Ý£¬ÕûÌåµÄÁ¿¼¶Ïà¶ÔÀ´Ëµ»¹ÊDZȽϴ󣬼¯Èº»úÆ÷´ïµ½Ç§Á¿¼¶£¬ÒÔ¼°ÓÐ PB ¼¶µÄÀúÊ·×ÜÊý¾ÝÁ¿¡£

ÃÀͼÓбȽ϶àµÄÒµÎñÏߣ¬²¢ÇÒ¸÷ÒµÎñÏ߱ȽϹ㷺µØÔËÓõ½Êý¾Ý£¬ÒÔ¼°ÕûÌåµÄÓû§¹æÄ£±È½Ï´ó£¬ÒÔÉÏÒòËØ¶¼´ÙʹÎÒÃDZØÐë¹¹½¨¶ÔÓ¦µÄÊý¾Ýƽ̨£¬À´Çý¶¯ÕâЩҵÎñÔö³¤£¬¸ü¸ßЧµØÊ¹ÓÃÊý¾Ý¡£

ÃÀͼÊý¾Ýƽ̨ÕûÌå¼Ü¹¹

Èçͼ 2 ËùʾÊÇÎÒÃÇÊý¾Ýƽ̨µÄÕûÌå¼Ü¹¹¡£ÔÚÊý¾ÝÊÕ¼¯Õⲿ·Ö£¬ÎÒÃǹ¹½¨Ò»Ìײɼ¯·þÎñ¶ËÈÕ־ϵͳ Arachnia£¬Ö§³Ö¸÷ app ¼¯³ÉµÄ¿Í»§¶Ë SDK£¬¸ºÔðÊÕ¼¯ app ¿Í»§¶ËÊý¾Ý£»Í¬Ê±Ò²ÓлùÓÚ DataX ʵÏÖµÄÊý¾Ý¼¯³É£¨µ¼Èëµ¼³ö£©£»Mor ÅÀ³æÆ½Ì¨Ö§³Ö¿ÉÅäÖõÄÅÀÈ¡¹«ÍøÊý¾ÝµÄÈÎÎñ¿ª·¢¡£

Êý¾Ý´æ´¢²ãÖ÷ÒªÊǸù¾ÝÒµÎñÌØµãÀ´Ñ¡Ôñ²»Í¬µÄ´æ´¢·½°¸£¬Ä¿Ç°Ö÷ÒªÓÐÓõ½ HDFS¡¢MongoDB¡¢Hbase¡¢ES µÈ¡£ÔÚÊý¾Ý¼ÆË㲿·Ö£¬µ±Ç°ÀëÏß¼ÆËãÖ÷Òª»¹ÊÇ»ùÓÚ Hive&MR¡¢ÊµÊ±Á÷¼ÆËãÊÇ Storm ¡¢ Flink ÒÔ¼°»¹ÓÐÁíÍâÒ»¸ö×ÔÑÐµÄ bitmap ϵͳ Naix¡£

ÔÚÊý¾Ý¿ª·¢Õâ¿éÎÒÃǹ¹½¨ÁËÒ»Ì×Êý¾Ý¹¤·»¡¢Êý¾Ý×ÜÏß·Ö·¢¡¢ÈÎÎñµ÷¶ÈµÈƽ̨¡£Êý¾Ý¿ÉÊÓ»¯ÓëÓ¦Óò¿·ÖÖ÷ÒªÊÇ»ùÓÚÓû§ÐèÇó¹¹½¨Ò»ÏµÁÐÊý¾ÝÓ¦ÓÃÆ½Ì¨£¬°üÀ¨£ºA/B ʵÑéÆ½Ì¨¡¢ÇþµÀÍÆ¹ã¸ú×ÙÆ½Ì¨¡¢Êý¾Ý¿ÉÊÓ»¯Æ½Ì¨¡¢Óû§»­ÏñµÈµÈ¡£

ͼ 2 ÓÒ²àչʾµÄÊÇһЩ¸÷×é¼þ¶¼¿ÉÄÜÒÀÀµµÄ»ù´¡·þÎñ£¬°üÀ¨µØÀíλÖá¢ÔªÊý¾Ý¹ÜÀí¡¢Î¨Ò»É豸±êʶµÈ¡£

Èçͼ 3 ËùʾÊÇ»ù±¾µÄÊý¾Ý¼Ü¹¹Á÷ͼ£¬µäÐ굀 lamda ¼Ü¹¹£¬´Ó×ó¶ËÊý¾ÝÔ´ÊÕ¼¯¿ªÊ¼£¬Arachnia¡¢AppSDK ·Ö±ð½«·þÎñ¶Ë¡¢¿Í»§¶ËÊý¾ÝÉϱ¨µ½´úÀí·þÎñ collector£¬Í¨¹ý½âÎöÊý¾ÝЭÒ飬°ÑÊý¾Ýдµ½ kafka£¬È»ºóʵʱÁ÷»á¾­¹ýÒ»²ãÊý¾Ý·Ö·¢£¬×îÖÕÒµÎñÏû·Ñ kafka Êý¾Ý½øÐÐʵʱ¼ÆËã¡£

ÀëÏß»áÓÉ ETL ·þÎñ¸ºÔð´Ó Kafka dump Êý¾Ýµ½ HDFS£¬È»ºóÒì¹¹Êý¾ÝÔ´£¨±ÈÈç MySQL¡¢Hbase µÈ£©Ö÷Òª»ùÓÚ DataX ÒÔ¼° Sqoop ½øÐÐÊý¾ÝµÄµ¼Èëµ¼³ö£¬×îÖÕͨ¹ý hive¡¢kylin¡¢spark µÈ¼ÆËã°ÑÊý¾ÝдÈëµ½¸÷ÀàµÄ´æ´¢²ã£¬×îºóͨ¹ýͳһµÄ¶ÔÍâ API ¶Ô½ÓÒµÎñϵͳÒÔ¼°ÎÒÃÇ×Ô¼ºµÄ¿ÉÊÓ»¯Æ½Ì¨µÈ¡£

Êý¾Ýƽ̨µÄ½×¶ÎÐÔ·¢Õ¹

ÆóÒµ¼¶Êý¾Ýƽ̨½¨ÉèÖ÷Òª·ÖÈý¸ö½×¶Î£º

1.¸Õ¿ªÊ¼ÊÇ»ù±¾Ê¹ÓÃÃâ·ÑµÄµÚÈý·½Æ½Ì¨£¬Õâ¸ö½×¶ÎµÄÌØµãÊÇÄÜ¿ìËÙ¼¯³É²¢¿´µ½ app µÄһЩͳ¼ÆÖ¸±ê£¬µ«ÊÇȱµãÒ²ºÜÃ÷ÏÔ£¬Ã»ÓÐԭʼÊý¾Ý³ýÁËÄÇЩµÚÈý·½ÌṩµÄ»ù±¾Ö¸±êÆäËû·ÖÎö¡¢ÍƼöµÈ¶¼ÎÞ·¨ÊµÏÖ¡£ËùÒÔÓÐ´Ó 0 µ½ 1 µÄ¹ý³Ì£¬ÈÃÎÒÃÇ×Ô¼ºÓÐÊý¾Ý¿ÉÒÔÓã»

2.ÔÚÓÐÊý¾Ý¿ÉÓúó£¬ÒòΪҵÎñÏß¡¢ÐèÇóÁ¿µÄ±¬·¢£¬ÐèÒªÌá¸ß¿ª·¢Ð§ÂÊ£¬Èøü¶àµÄÈ˲ÎÓëÊý¾Ý¿ª·¢¡¢Ê¹Óõ½Êý¾Ý£¬¶ø²»½ö½ö¾ÖÏÞÓÚÊý¾ÝÑз¢ÈËԱʹÓã¬ËùÒÔ¾ÍÉæ¼°µ½°ÑÊý¾Ý¡¢¼ÆËã´æ´¢ÄÜÁ¦¿ª·Å¸ø¸÷¸öÒµÎñÏߣ¬¶ø²»ÊÇÎÕÔÚ×Ô¼ºÊÖÉÏ£»

3.ÔÚµ±Êý¾Ý¿ª·ÅÁËÒÔºó£¬ÒµÎñ·½»áÒªÇóÊý¾ÝÈÎÎñÄÜ·ñÅܵøü¿ì£¬ÄÜ·ñÃë³ö£¬ÄÜ·ñ¸üʵʱ£»ÁíÍâÒ»·½Ã棬ΪÁËÂú×ãÒµÎñÐèÇó¼¯ÈºµÄ¹æÄ£Ô½À´Ô½´ó£¬Òò´Ë»á¿ªÊ¼¿¼ÂÇÂú×ãÒµÎñµÄͬʱ£¬ÈçºÎʵÏÖ¸ü½ÚÊ¡×ÊÔ´¡£

ÃÀͼÏÖÔÚÊÇ´¦ÓÚµÚ¶þÓëµÚÈý½×¶ÎµÄ¹ý¶ÉÆÚ£¬ÔÚ²»¶ÏÍêÉÆÊý¾Ý¿ª·ÅµÄͬʱ£¬Ò²Öð²½ÌáÉý²éѯ·ÖÎöЧÂÊ£¬ÒÔ¼°¿ªÊ¼¿¼ÂÇÈçºÎ½øÐÐÓÅ»¯³É±¾¡£½ÓÏÂÀ´»áÖØµã½éÉÜ 0 µ½ 1 ÒÔ¼°Êý¾Ý¿ª·ÅÕâÁ½¸ö½×¶ÎÎÒÃÇÆ½Ì¨µÄʵ¼ùÒÔ¼°ÓÅ»¯Ë¼Â·¡£

´Ó 0 µ½ 1

´Ó 0 µ½ 1 ½â¾ö´ÓÊý¾Ý²É¼¯µ½×îÖÕ¿ÉÒÔʹÓÃÊý¾Ý¡£Èçͼ 4 ËùʾÊÇÊý¾ÝÊÕ¼¯µÄÑݽø¹ý³Ì£¬´Ó¸Õ¿ªÊ¼Ê¹ÓÃÀàËÆ umeng¡¢flurry ÕâÀàµÄÃâ·ÑµÚÈý·½Æ½Ì¨£¬µ½ºóÃæ¿ìËÙʹÓà rsync ͬ²½ÈÕÖ¾µ½Ò»Ì¨·þÎñÆ÷ÉÏ´æ´¢¡¢¼ÆË㣬ÔÙµ½ºóÃæ¿ìËÙ¿ª·¢ÁËÒ»¸ö¼òµ¥µÄpython½Å±¾Ö§³ÖÒµÎñ·þÎñÆ÷Éϱ¨ÈÕÖ¾£¬×îÖÕÎÒÃÇ¿ª·¢ÁË·þÎñ¶ËÈÕÖ¾²É¼¯ÏµÍ³ Arachnia ÒÔ¼°¿Í»§¶Ë AppSDK¡£

Êý¾Ý²É¼¯ÊÇÊý¾ÝµÄÔ´Í·£¬ÔÚÕû¸öÊý¾ÝÁ´Â·ÖÐÊÇÏà¶ÔÖØÒªµÄ»·½Ú£¬ÐèÒª¸ü¶à¹Ø×¢£ºÊý¾ÝÊÇ·ñÍêÕû¡¢Êý¾ÝÊÇ·ñÖ§³ÖʵʱÉϱ¨¡¢Êý¾ÝÂñµãÊÇ·ñ¹æ·¶×¼È·¡¢ÒÔ¼°Î¬»¤¹ÜÀí³É±¾¡£Òò´ËÎÒÃǵÄÈÕÖ¾²É¼¯ÏµÍ³ÐèÒªÂú×ãÒÔÏÂÐèÇó£º

1.Äܼ¯³É¹ÜÀíά»¤£¬°üÀ¨ Agent ÄÜ×Ô¶¯»¯²¿Êð°²×°Éý¼¶Ð¶ÔØ¡¢ÅäÖÃÈȸü¡¢ÑÓ³Ù·½ÃæµÄ¼à¿Ø£»

2.ÔÚ¿É¿¿ÐÔ·½ÃæÖÁÉÙÐèÒª±£Ö¤ at least once£»

3.ÃÀͼÏÖÔÚÓжà IDC µÄÇé¿ö£¬ÐèÒªÄÜÖ§³Ö¶à¸ö IDC Êý¾Ý²É¼¯»ã×ܵ½Êý¾ÝÖÐÐÄ£»

4.ÔÚ×ÊÔ´ÏûºÄ·½Ã澡Á¿Ð¡£¬¾¡Á¿×öµ½²»Ó°ÏìÒµÎñ¡£

»ùÓÚÒÔÉÏÐèÇóÎÒÃÇûÓÐʹÓà flume¡¢scribe¡¢fluentd£¬×îÖÕÑ¡Ôñ×Ô¼º¿ª·¢Ò»Ìײɼ¯ÏµÍ³ Arachnia¡£

ͼ 5 ÊÇ Arachnia µÄ¼òÒ׼ܹ¹Í¼£¬Ëüͨ¹ýϵͳ´óÄÔ½øÐм¯ÖÐʽ¹ÜÀí¡£puppet Ä£¿éÖ÷Òª×÷Ϊµ¥¸ö IDC ÄÚͳһ»ã×Ü Agent µÄ metrics£¬ÖÐתת·¢µÄ metrics »òÕßÅäÖÃÈȸüÃüÁî¡£²É¼¯Æ÷ Agent Ö÷ÒªÊÇÔËάƽ̨¸ºÔð°²×°¡¢Æô¶¯ºó´Ó brain À­È¡µ½ÅäÖ㬲¢¿ªÊ¼²É¼¯Éϱ¨Êý¾Ýµ½ collector¡£

½Ó×Å¿´ Arachnia µÄʵ¼ùÓÅ»¯£¬Ê×ÏÈÊÇ at least once µÄ¿É¿¿ÐÔ±£Ö¤¡£²»ÉÙµÄϵͳ¶¼ÊDzÉÓðÑÉϱ¨Ê§°ÜµÄÊý¾Ýͨ¹ý WAL µÄ·½Ê½¼Ç¼ÏÂÀ´£¬ÖØÊÔÔÙÉϱ¨£¬ÒÔÃâÉϱ¨Ê§°Ü¶ªÊ§¡£ÎÒÃǵÄʵ¼ùÊÇÈ¥µô WAL£¬Ôö¼ÓÁË coordinator À´Í³Ò»µÄ·Ö·¢¹ÜÀí tx ״̬¡£


¿ªÊ¼²É¼¯Ç°»á´Ó coordinator ·¢³ö txid£¬source ½ÓÊÕµ½Ðźźó¿ªÊ¼²É¼¯£¬²¢½»ÓÉ sink ·¢ËÍÊý¾Ý£¬·¢Ëͺó»áack tx£¬¸æËß coordinator ÒѾ­ commit¡£coordinator »á½øÐÐУÑéÈ·ÈÏ£¬È»ºóÔÙ·¢ËÍ commit µÄÐźŸø source¡¢sink ¸üÐÂ״̬£¬×îÖÕ tx Íê source »á¸üвɼ¯½ø¶Èµ½³Ö¾Ã²ã£¨Ä¬ÈÏÊDZ¾µØ file£©¡£¸Ã·½Ê½Èç¹ûÔÚÇ°Ãæ 3 ²½ÓÐÎÊÌ⣬ÔòÊý¾ÝûÓз¢Ëͳɹ¦£¬²»»áÖØ¸´Ö´ÐУ»Èç¹ûºóÃæ 4 ¸ö²½Öèʧ°Ü£¬ÔòÊý¾Ý»áÖØ¸´£¬¸Ã tx »á±»ÖØ·Å¡£

»ùÓÚÉÏÎÄµÄ at least once ¿É¿¿ÐÔ±£Ö¤£¬ÓÐЩҵÎñ·½ÊÇÐèҪΨһÐԵģ¬ÎÒÃÇÕâ±ßÖ§³ÖΪÿÌõÈÕÖ¾Éú³ÉΨһ ID ±êʶ¡£ÁíÍâÒ»¸öÊý¾Ý²É¼¯ÏµÍ³µÄÖ÷Ҫʵ¼ùÊÇ£ºÎ¨Ò»¶¨Î»Ò»¸öÎļþÒÔ¼°¸øÃ¿ÌõÈÕÖ¾×öΨһµÄ MsgID£¬·½±ãÒµÎñ·½¿ÉÒÔ»ùÓÚ MsgID ÔÚ·¢ÉúÈÕÖ¾ÖØ¸´Ê±ÄÜÔÚºóÃæ×öÇåÏ´¡£

ÎÒÃÇÒ»¿ªÊ¼ÊÇʹÓà filename£¬ºóÃæ·¢ÏÖ filename ºÜ¶àÒµÎñ·½¶¼»á±ä¸ü£¬ËùÒÔ¸ÄΪ inode£¬µ«ÊÇ inode linux »á»ØÊÕÖØ¸´ÀûÓã¬×îºóÊÇÒÔ inode & ÎļþÍ·²¿ÄÚÈÝ×ö hash À´×÷ΪfileID¡£¶ø MsgID ÊÇͨ¹ý agentID & fileID & offset À´Î¨Ò»È·ÈÏ¡£

Êý¾ÝÉϱ¨Ö®ºóÓÉ collector ¸ºÔð½âÎöЭÒéÍÆËÍÊý¾Ýµ½ Kafka£¬ÄÇô Kafka ÈçºÎÂ䵨µ½ HDFS ÄØ£¿ Ê×ÏÈ¿´ÃÀͼµÄËßÇó£º

1.Ö§³Ö·Ö²¼Ê½´¦Àí£»

2.Éæ¼°µ½½Ï¶àÒµÎñÏßÒò´ËÓжàÖÖÊý¾Ý¸ñʽ£¬ËùÒÔÐèÒªÖ§³Ö¶àÖÖÊý¾Ý¸ñʽµÄÐòÁл¯£¬°üÀ¨ json¡¢avro¡¢ÌØÊâ·Ö¸ô·ûµÈ£»

3.Ö§³ÖÒòΪ»úÆ÷¹ÊÕÏ¡¢·þÎñÎÊÌâµÈµ¼ÖµÄÊý¾ÝÂäµØÊ§°ÜÖØÅÜ£¬¶øÇÒÐèÒªÄÜÓбȽϿìËÙµÄÖØÅÜÄÜÁ¦£¬ÒòΪһµ©Õâ¿é¹ÊÕÏ£¬»áÓ°Ïìµ½ºóÐø¸÷¸öÒµÎñÏßµÄÊý¾ÝʹÓã»

4.Ö§³Ö¿ÉÅäÖÃµÄ HDFS ·ÖÇø²ßÂÔ£¬ÄÜÖ§³Ö¸÷¸öÒµÎñÏßÏà¶ÔÁé»îµÄ¡¢²»Ò»ÑùµÄ·ÖÇøÅäÖã»

5.Ö§³ÖÒ»Ð©ÌØÊâµÄÒµÎñÂß¼­´¦Àí£¬°üÀ¨£ºÊý¾ÝУÑé¡¢¹ýÆÚ¹ýÂË¡¢²âÊÔÊý¾Ý¹ýÂË¡¢×¢ÈëµÈ£»

»ùÓÚÉÏÊöËßÇóÍ´µã£¬ÃÀͼ´Ó Kafka Â䵨µ½ HDFS µÄÊý¾Ý·þÎñʵÏÖ·½Ê½Èçͼ 7 Ëùʾ¡£

»ùÓÚ Kafka ºÍ MR µÄÌØµã£¬Õë¶Ôÿ¸ö kafka topic µÄ partition£¬×é×° mapper µÄ inputsplit£¬È»ºóÆðÒ»¸ö mapper ½ø³Ì´¦ÀíÏû·ÑÕâ¸öÅú´ÎµÄ kafka Êý¾Ý£¬¾­¹ýÊý¾Ý½âÎö¡¢ÒµÎñÂß¼­´¦Àí¡¢Ð£Ñé¹ýÂË¡¢×îÖÕ¸ù¾Ý·ÖÇø¹æÔòÂäµØÐ´µ½Ä¿±ê HDFS Îļþ¡£Â䵨³É¹¦ºó»á°ÑÕâ´Î´¦ÀíµÄ meta ÐÅÏ¢£¨°üÀ¨ topic¡¢partition¡¢¿ªÊ¼µÄ offset¡¢½áÊøµÄoffset£©´æ´¢µ½ MySQL¡£Ï´ÎÔÙ´¦ÀíµÄʱºò£¬»á´ÓÉϴδ¦ÀíµÄ½áÊøµÄ offset ¿ªÊ¼¶ÁÈ¡ÏûÏ¢£¬¿ªÊ¼ÐÂÒ»ÅúµÄÊý¾ÝÏû·ÑÂ䵨¡£

ʵÏÖÁË»ù±¾¹¦ÄܺóÄÑÃâ»áÓöµ½Ò»Ð©ÎÊÌ⣬±ÈÈ粻ͬµÄÒµÎñ topic µÄÊý¾ÝÁ¿¼¶ÊDz»Ò»ÑùµÄ£¬ÕâÑù»áµ¼ÖÂÒ»´ÎÈÎÎñÐèÒªµÈ´ý partition Êý¾ÝÁ¿×î¶àÒÔ¼°´¦Àíʱ¼ä×µÄ mapper ½áÊø£¬²ÅÄܽáÊøÕû¸öÈÎÎñ¡£ÄÇÎÒÃÇÔõô½â¾öÕâ¸öÎÊÌâÄØ£¿ÏµÍ³Éè¼ÆÖÐÓиö²»³ÉÎÄÔ­ÔòÊÇ£º·Ö¾Ã±ØºÏ¡¢ºÏ¾Ã±Ø·Ö£¬Õë¶ÔÊý¾ÝÇãбµÄÎÊÌâÎÒÃDzÉÓÃÁËÀàËÆµÄ˼·¡£

Ê×ÏȶÔÊý¾ÝÁ¿¼¶½ÏСµÄ partition ºÏ²¢µ½Ò»¸ö inputsplit£¬´ïµ½Ò»¸ö mapper ¿ÉÒÔ´¦Àí¶à¸öÒµÎñµÄ partition Êý¾Ý£¬×îÖÕÂäµØÐ´¶à·ÝÎļþ¡£

ÁíÍâ¶ÔÊý¾ÝÁ¿¼¶½Ï´óµÄ partition Ö§³Ö·Ö¶Î²ð·Ö£¬Æ½·Öµ½¶à¸ö mapper ´¦Àíͬһ¸ö partition£¬ÕâÑù¾ÍʵÏÖÁ˸ü¾ùºâµÄ mapper ´¦Àí£¬ÄܸüºÃµØÓ¦¶ÔÒµÎñÁ¿¼¶µÄÍ»Ôö¡£

³ýÁËÊý¾ÝÇãбµÄÎÊÌ⣬»¹³öÏÖ¸÷ÖÖÔ­Òòµ¼ÖÂÊý¾Ý dump µ½ HDFS ʧ°ÜµÄÇé¿ö£¬±ÈÈçÒòΪ kafka ´ÅÅÌÎÊÌâ¡¢hadoop ¼¯Èº½Úµãå´»ú¡¢ÍøÂç¹ÊÕÏ¡¢Íⲿ·ÃÎÊȨÏ޵ȵ¼Ö¸à ETL ³ÌÐò³öÏÖÒì³££¬×îÖÕ¿ÉÄܵ¼ÖÂÒòΪδ close HDFS Îļþµ¼ÖÂÎļþË𻵵ȣ¬ÐèÒªÖØÅÜÊý¾Ý¡£ÄÇÎÒÃǵÄÊý¾Ýʱ¼ä·ÖÇø»ù±¾¶¼ÊÇÒÔÌìΪµ¥Î»£¬ÓÃÔ­À´µÄ·½Ê½¿ÉÄܻᵼÖÂÒ»¸öÌìÁ£¶ÈµÄÎļþË𻵣¬½âÎöÎÞ·¨¶ÁÈ¡¡£

ÎÒÃDzÉÓÃÁË·ÖÁ½½×¶Î´¦ÀíµÄ·½Ê½£ºmapper 1 ÏȰÑÊý¾Ýдµ½Ò»¸öÁÙʱĿ¼£¬mapper 2 °Ñ Hdfs µÄÁÙʱĿ¼µÄÊý¾Ý append µ½Ä¿±êÎļþ¡£ÕâÑùµ± mapper1 ʧ°ÜµÄʱºò¿ÉÒÔÖ±½ÓÖØÅÜÕâ¸öÅú´Î£¬¶ø²»ÓÃÖØÅÜÕûÌìµÄÊý¾Ý£»µ± mapper2 ʧ°ÜµÄʱºòÄÜÖ±½Ó´ÓÁÙʱĿ¼ merge Êý¾ÝÌæ»»×îÖÕÎļþ£¬¼õÉÙÁËÖØÐ ETL ÌìÁ£¶ÈµÄ¹ý³Ì¡£

ÔÚÊý¾ÝµÄʵʱ·Ö·¢¶©ÔÄдÈëµ½ kafka1 µÄÊý¾Ý»ù±¾ÊÇÿ¸öÒµÎñµÄÈ«Á¿Êý¾Ý£¬µ«ÊÇÕë¶ÔÐèÇ󷽴󲿷ÖÒµÎñ¶¼Ö»¹Ø×¢Ä³¸öʼþ¡¢Ä³Ð¡Àà±ðµÄÊý¾Ý£¬¶ø²»ÊÇÈκÎÒµÎñ¶¼Ïû·ÑÈ«Á¿Êý¾Ý×ö´¦Àí£¬ËùÒÔÎÒÃÇÔö¼ÓÁËÒ»¸öʵʱ·Ö·¢ Databus À´½â¾öÕâ¸öÎÊÌâ¡£

Databus Ö§³ÖÒµÎñ·½×Ô¶¨Òå·Ö·¢ rules ÍùÏÂÓ뵀 kafka ¼¯ÈºÐ´Êý¾Ý£¬·½±ãÒµÎñ·½¶©ÔÄ´¦Àí×Ô¼ºÏëÒªµÄÊý¾Ý£¬²¢ÇÒÖ§³Ö¸üСÁ£¶ÈµÄÊý¾ÝÖØ¸´ÀûÓá£

ͼ 12 ¿ÉÒÔ¿´³ö Databus µÄʵÏÖ·½Ê½£¬ËüµÄÖ÷Ìå»ùÓÚ Storm ʵÏÖÁË databus topology¡£Databus ÓÐÁ½¸ö spout£¬Ò»¸öÖ§³ÖÀ­È¡È«Á¿ÒÔ¼°ÐÂÔöµÄ rules£¬È»ºó¸üе½ÏÂÓεķַ¢ bolt ¸üлº´æ¹æÔò£¬ÁíÍâÒ»¸öÊÇ´Ó kafka Ïû·ÑµÄ spout¡£¶ø distributionbolt Ö÷ÒªÊǸºÔð½âÎöÊý¾Ý¡¢¹æÔò match£¬ÒÔ¼°°ÑÊý¾ÝÍùÏÂÓ뵀 kafka ¼¯Èº·¢ËÍ¡£

Êý¾Ý¿ª·Å

ÓÐÁËԭʼÊý¾Ý²¢ÇÒÄÜ×öÀëÏß¡¢ÊµÊ±µÄÊý¾Ý¿ª·¢ÒÔºó£¬ËæÖ®¶øÀ´µÄÊÇÊý¾Ý¿ª·¢ÐèÇóµÄ¾®Å磬Êý¾ÝÑз¢ÍŶÓÓ¦½Ó²»Ï¾¡£ËùÒÔÎÒÃÇͨ¹ýÊý¾Ýƽ̨µÄ·½Ê½¿ª·ÅÊý¾Ý¼ÆËã¡¢´æ´¢ÄÜÁ¦£¬¸³ÓèÒµÎñ·½ÓÐÊý¾Ý¿ª·¢µÄÄÜÁ¦¡£

¶ÔʵÏÖÔªÊý¾Ý¹ÜÀí¡¢ÈÎÎñµ÷¶È¡¢Êý¾Ý¼¯³É¡¢DAG ÈÎÎñ±àÅÅ¡¢¿ÉÊÓ»¯µÈ²»Ò»Ò»×¸Êö£¬Ö÷Òª½éÉÜÊý¾Ý¿ª·Åºó£¬ÃÀͼ¶ÔÎȶ¨ÐÔ·½ÃæµÄʵ¼ùÐĵá£

Êý¾Ý¿ª·ÅºÍϵͳÎȶ¨ÐÔÊÇÏà°®ÏàɱµÄ¹ØÏµ£ºÒ»·½Ã棬¿ª·ÅÁËÖ®ºó²»ÔÙÊÇÓÐÊý¾Ý»ù´¡µÄÑз¢ÈËÔ±À´×ö£¬¾­³£»áÓöµ½Ìá½»·Ç·¨¡¢¸ß×ÊÔ´ÏûºÄµÈÎÊÌâµÄÊý¾ÝÈÎÎñ£¬¸øµ×²ãµÄ¼ÆËã¡¢´æ´¢¼¯ÈºµÄÎȶ¨ÐÔÔì³ÉÁ˱ȽϴóµÄÀ§ÈÅ£»ÁíÍâÒ»·½Ã棬ÆäʵҲÊÇÒòΪÊý¾Ý¿ª·Å£¬²Å²»¶ÏÍÆ½øÎÒÃDZØÐëÌá¸ßϵͳÎȶ¨ÐÔ¡£

Õë¶Ô²»Éٵĸß×ÊÔ´¡¢·Ç·¨µÄÈÎÎñ£¬ÎÒÃÇÊ×ÏÈ¿¼ÂÇÄÜ·ñÔÚ HiveSQL ²ãÃæÄÜ×öһЩУÑé¡¢ÏÞÖÆ¡£Èçͼ 13 ËùʾÊÇ HiveSQL µÄÕû¸ö½âÎö±àÒëΪ¿ÉÖ´ÐÐµÄ MR µÄ¹ý³Ì£º

Ê×ÏÈ»ùÓÚ Antlr ×öÓï·¨µÄ½âÎö£¬Éú³É AST£¬½Ó×Å×öÓïÒå½âÎö£¬»ùÓÚAST »áÉú³É JAVA ¶ÔÏó QueryBlock¡£»ùÓÚ QueryBlock Éú³ÉÂß¼­¼Æ»®ºó×öÂß¼­ÓÅ»¯£¬×îºóÉú³ÉÎïÀí¼Æ»®£¬½øÐÐÎïÀíÓÅ»¯ºó£¬×îÖÕת»»ÎªÒ»¸ö¿ÉÖ´ÐÐµÄ MR ÈÎÎñ¡£

ÎÒÃÇÖ÷ÒªÔÚÓïÒå½âÎö½×¶ÎÉú³É QueryBlock ºó£¬Äõ½Ëü×öÁ˲»ÉÙµÄÓï¾äУÑ飬°üÀ¨£º·Ç·¨²Ù×÷¡¢²éѯÌõ¼þÏÞÖÆ¡¢¸ß×ÊÔ´ÏûºÄУÑéÅжϵȡ£

µÚ¶þ¸öÔÚÎȶ¨ÐÔ·½ÃæµÄʵ¼ù£¬Ö÷ÒªÊǶԼ¯ÈºµÄÓÅ»¯£¬°üÀ¨£º

1.ÎÒÃÇÍêÕûµØ¶Ô Hive¡¢Hadoop ¼¯Èº×öÁËÒ»´ÎÉý¼¶¡£Ö÷ÒªÊÇÒòΪ֮ǰÔڵͰ汾ÓÐ fix һЩÎÊÌâÒÔ¼°ºÏ²¢Ò»Ð©ÉçÇøµÄ patch£¬ÔÚºóÃæÐ°汾¶¼ÓÐÐÞ¸´£»ÁíÍâÒ»¸öÔ­ÒòÊÇа汾µÄÌØÐÔÒÔ¼°ÐÔÄÜ·½ÃæµÄÓÅ»¯¡£ÎÒÃÇ°Ñ Hive ´Ó 0.13 °æ±¾Éý¼¶µ½ 2.1 °æ±¾£¬Hadoop ´Ó 2.4 Éý¼¶µ½ 2.7£»

2.¶Ô Hive ×öÁË HA µÄ²¿ÊðÓÅ»¯¡£ÎÒÃÇ°Ñ HiveServer ºÍ MetaStoreServer ²ð·Ö¿ªÀ´·Ö±ð²¿ÊðÁ˶à¸ö½Úµã£¬±ÜÃâºÏ²¢ÔÚÒ»¸ö·þÎñ²¿ÊðÔËÐÐÏ໥ӰÏ죻

3.֮ǰִÐÐÒýÇæ»ù±¾¶¼ÊÇ On MapReduce µÄ£¬ÎÒÃÇÒ²ÔÚ×ö Hive On Spark µÄÇ¨ÒÆ£¬Öð²½°ÑÏßÉÏÈÎÎñ´Ó Hive On MR Çл»µ½ Hive On Spark£»

4.À­Ò»¸öÄÚ²¿·ÖÖ§¶ÔƽʱÓöµ½µÄһЩÎÊÌâ×ö bugfix »òºÏ²¢ÉçÇø patch µÄÌØÐÔ£»

ÔÚÆ½Ì¨Îȶ¨ÐÔ·½ÃæµÄʵ¼ù×îºóÒ»²¿·ÖÊÇÌá¸ßȨÏÞ¡¢°²È«ÐÔ£¬·ÀÖ¹¶Ô¼¯Èº¡¢Êý¾ÝµÄ·Ç·¨·ÃÎÊ¡¢¹¥»÷µÈ¡£Ìá¸ßȨÏÞÖ÷Òª·ÖÁ½¿é£ºAPI ·ÃÎÊÓ뼯Ⱥ¡£

1.API Server £ºÉÏÎÄÌáµ½ÎÒÃÇÓÐ OneDataAPI£¬Ìṩ¸ø¸÷¸öÒµÎñϵͳ·ÃÎÊÊý¾ÝµÄͳһ API¡£Õâ·½ÃæÖ÷ÒªÊǶîÍâʵÏÖÁËÒ»¸öͳһÈÏÖ¤ CA ·þÎñ£¬ÒµÎñϵͳ±ØÐë½ÓÈë CA Äõ½ token ºóÀ´·ÃÎÊOneDataAPI£¬OneDataAPI ÔÚ CA ÑéÖ¤¹ýºó£¬ºÏ·¨µÄ²ÅÔÊÐíÕæÕý·ÃÎÊÊý¾Ý£¬´Ó¶ø·ÀÖ¹ÒµÎñϵͳ¿ÉÒÔÈÎÒâ·ÃÎÊËùÓÐÊý¾ÝÖ¸±ê¡£

2.¼¯Èº£ºÄ¿Ç°Ö÷ÒªÊÇ»ùÓÚ Apache Ranger À´Í³Ò»¸÷À༯Ⱥ£¬°üÀ¨ Kafka¡¢Hbase¡¢Hadoop µÈ×ö¼¯ÈºµÄÊÚȨ¹ÜÀíºÍά»¤£»

ÄǽÓÏÂÀ´¶ÔÊý¾Ýƽ̨½¨Éè¹ý³Ì×öÒ»¸ö¼òµ¥µÄ×ܽᡣ

1.Ê×ÏÈÔڴÊý¾Ýƽ̨֮ǰ£¬Ò»¶¨ÒªÏÈÁ˽âÒµÎñ£¬¿´ÒµÎñµÄÕûÌåÌåÁ¿ÊÇ·ñ±È½Ï´ó¡¢ÒµÎñÏßÊÇ·ñ±È½Ï¹ã¡¢ÐèÇóÁ¿ÊÇ·ñ¶àµ½ÑÏÖØÓ°ÏìÎÒÃǵÄÉú²úÁ¦¡£Èç¹û¶¼Êǿ϶¨´ð°¸£¬ÄÇ¿ÉÒÔ¿¼ÂǾ¡¿ì´î½¨Êý¾Ýƽ̨£¬ÒÔ¸ü¸ßЧ¡¢¿ìËÙÌá¸ßÊý¾ÝµÄ¿ª·¢Ó¦ÓÃЧÂÊ¡£Èç¹û±¾ÉíµÄÒµÎñÁ¿¼¶¡¢ÐèÇ󲻶࣬²»Ò»¶¨·ÇµÃÌ×´óÊý¾Ý»òÕߴ¶àôÍêÉÆµÄÊý¾Ýƽ̨£¬ÒÔ¿ìËÙÂú×ãÖ§³ÅÒµÎñÓÅÏÈ¡£

2.ÔÚÆ½Ì¨½¨Éè¹ý³ÌÖУ¬ÐèÒªÖØµã¹Ø×¢Êý¾ÝÖÊÁ¿¡¢Æ½Ì¨µÄÎȶ¨ÐÔ£¬±ÈÈç¹Ø×¢Êý¾ÝÔ´²É¼¯µÄÍêÕûÐÔ¡¢Ê±Ð§ÐÔ¡¢É豸µÄΨһ±êʶ£¬¶àÔÚÆ½Ì¨µÄÎȶ¨ÐÔ·½Ãæ×öÓÅ»¯ºÍʵ¼ù£¬ÎªÒµÎñ·½Ìṩһ¸öÎȶ¨¿É¿¿µÄƽ̨¡£

3.ÔÚÌá¸ß·ÖÎö¾ö²ßЧÂÊÒÔ¼°¹æÄ£Öð½¥À©´óºóÐèÒª¶Ô³É±¾¡¢×ÊÔ´×öһЩÓÅ»¯ºÍ˼¿¼¡£

 

 

   
2261 ´Îä¯ÀÀ       27
Ïà¹ØÎÄÕÂ

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

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

Êý¾ÝÖÎÀí¡¢Êý¾Ý¼Ü¹¹¼°Êý¾Ý±ê×¼
MongoDBʵս¿Î³Ì
²¢·¢¡¢´óÈÝÁ¿¡¢¸ßÐÔÄÜÊý¾Ý¿âÉè¼ÆÓëÓÅ»¯
PostgreSQLÊý¾Ý¿âʵսÅàѵ