ÒÔÏÂΪÒëÎÄ
×÷ΪһÖÖÁé»îÐÔ¼«Ç¿µÄ¹¹¼Ü·ç¸ñ£¬Ê±ÏÂ΢·þÎñÔÚ¸÷ÖÖ¿ª·¢ÏîÄ¿ÖÐÈÕÒæÆÕ¼°¡£ÔÚÕâÖּܹ¹ÖУ¬Ó¦ÓóÌÐò±»°´ÕÕ¹¦ÄÜ·Ö½â³ÉÒ»×éËÉñîºÏµÄ·þÎñ£¬ËüÃÇͨ¹ýREST
APIsÏ໥Ð×÷¡£Í¨¹ýÕâ¸öÉè¼ÆÔÔò£¬¿ª·¢ÍŶӿÉÒÔ¿ìËٵز»¶Ïµü´ú¸÷¸ö¶ÀÁ¢µÄ΢·þÎñ¡£Í¬Ê±£¬»ùÓÚÕâÐ©ÌØÐÔ£¬ºÜ¶à»ú¹¹¿ÉÒÔÊý±¶µØÌáÉý×Ô¼ºµÄ²¿ÊðÄÜÁ¦¡£
È»¶ø·²Ê¶¼ÓÐÁ½ÃæÐÔ£¬µ±¿ª·¢Õß´Ó΢·þÎñ¼Ü¹¹»ñµÃÃô½Ýʱ£¬¹Û²âÕû¸öϵͳµÄÔËÐÐÇé¿ö³ÉΪ×î´óµÄÍ´µã¡£Èçͼ1Ëùʾ£¬¶à¸ö·þÎñ¹¤×÷ÁªºÏ¶ÔÓû§ÇëÇó²úÉúÏìÓ¦£»ÔÚÉú²ú»·¾³ÖУ¬Ó¦ÓóÌÐòÖ´Ðйý³ÌÖж˵½¶ËµÄÊÓͼ¶Ô¿ìËÙÕï¶Ï²¢½â¾öÐÔÄÜÍË»¯ÎÊÌâÖÁ¹ØÖØÒªµÄ£¬¶øÓ¦ÓÃÖжà´ïÊýÊ®µÄ΢·þÎñ£¨Ã¿¸ö»¹¶ÔÓ¦Êý°Ù¸öʵÀý£©Ê¹µÃÀí½âÕâµã±äµÃ·Ç³£À§ÄÑ¡£ÐÅÏ¢ÊÇÈçºÎÔÚ·þÎñÖд©ËóÁ÷¶¯µÄ£¿ÄÄÀïÊÇÆ¿¾±µã£¿ÈçºÎÈ·¶¨Óû§ÌåÑéµÄÑÓ³ÙÊÇÓÉÍøÂ绹Êǵ÷ÓÃÁ´ÖеÄ΢·þÎñÒýÆð£¿

Óë´Ëͬʱ£¬ÔÚÔÆ»·¾³Ï£¬ÆóÒµ¶Ô»ùÓÚ΢·þÎñÓ¦ÓõÄÐÔÄÜ·ÖÎö¹¤¾ßµÄÐèÇóÓëÈÕ¾ãÔö£¬Òò´ËIBM ResearchÕýÔÚ³¢ÊÔ¹¹½¨»ùÓÚÆ½Ì¨µÄʵʱµÄÐÔÄÜ·ÖÎö¹¤¾ß£¬ËüµÄÐÔÖÊÀàËÆÓÚ×Ô¶¯Ëõ·ÅºÍ¸ºÔØÆ½ºâµÈ·þÎñ¡£Í¨¹ý²¶»ñºÍ·ÖÎöÓ¦ÓÃÖÐ΢·þÎñµÄÍøÂçͨÐÅ£¬·þÎñ°´·ÇÇÖÈëʽµÄ·½Ê½½øÐС£ÔÚÔÆ»·¾³ÖУ¬·þÎñ·ÖÎöÐèÒª´¦Àíº£Á¿À´×Ôʵʱ×â»§Ó¦ÓõÄͨÐÅ×·×Ù£¬½øÒ»²½·¢ÏÖÓ¦ÓóÌÐòÍØÆË½á¹¹£¬¸ú×Ùµ±·þÎñͨ¹ýÍøÂç΢·þÎñʱµÄµ¥¸öÇëÇóµÈ¡£ÓÉÓÚÐèÒªÔËÐÐÅú´¦ÀíºÍʵʱ·ÖÎöÓ¦Óã¬ËùÒÔSpark±»²ÉÓá£

ͼ2Ëùʾ£¬ÕâÀïÉèÖÃÁËÒ»¸ö¼òµ¥ÊµÑéÀ´ÃèÊöÈçºÎÀûÓÃSpark½øÐвÙ×÷·ÖÎö¡£ÕûÌåµÄ»·¾³ÊÇÒ»¸öOpenStackÔÆ£¬Ò»×é»ùÓÚ΢·þÎñµÄÓ¦ÓóÌÐòÔËÐÐÔÚ²»Í¬×â»§µÄÍøÂçÖУ¬»¹ÓÐÒ»¸öСÐÍSpark¼¯Èº¡£ÔÚÿ¸öNova¼ÆËãÖ÷»úÉϰ²×°µÄÈí¼þÍøÂçtapÀ´²¶»ñͨ¹ý×â»§ÍøÂçÄÚµÄÍøÂçÊý¾Ý°ü¡£´Ó×â»§ÍøÂçÖв¶»ñµÄWire-data±»Í¶ÈëKafka
bus¡£Í¬Ê±£¬ÔÚSparkÓ¦ÓÃÖбàдÁ¬½ÓÆ÷£¬»ñÈ¡KafkaµÄ°ü²¢¶ÔÆä½øÐÐʵʱ·ÖÎö¡£
Òò´Ë£¬SparkÓ¦Óñ»±àдÊÔͼÀ´»Ø´ðÏÂÁÐÎÊÌ⣺
1. ¶ÔÖÕ¶ËÓû§µÄÇëÇóÏìӦʱ£¬ÐÅÏ¢Á÷ÊÇÈçºÎͨ¹ý·þÎñµÄ£¿ÔÚIT Operational AnalyticsÁìÓò£¬ÕâÖÖ·ÖÎö²Ù×÷ͨ³£±»³ÆÎª¡°ÊÂÎñ¸ú×Ù¡±¡£
2. ÔÚ¸ø¶¨Ê±¼ä´°ÖУ¬Ó¦ÓÃÖи÷ÖÖ΢·þÎñÖ®¼äµÄµ÷ÓÃ/±»µ÷ÓùØÏµÊÇʲô£¿
3. ÔÚ¸ø¶¨Ê±¼ä¿ÚÖУ¬Ó¦ÓÃÖи÷ÖÖ΢·þÎñµÄÏìӦʱ¼äÊǶàÉÙ£¿
¸ù¾ÝÒÔÉÏÎÊÌ⣬ÕâÀ↑·¢ÁË2¸öSparkÓ¦ÓóÌÐò£º1¸öʵʱÊÂÎñ¸ú×ÙµÄÓ¦ÓóÌÐòºÍ1¸öÅúÁ¿·ÖÎöÓ¦ÓÃÀ´Éú³ÉÓ¦ÓõÄͨÐÅͼºÍÑÓ³Ùͳ¼Æ¡£Ç°Õß»ùÓÚSparkÁ÷³éÏ󣬺óÕßÔòÊÇÒ»×éÓÉSpark×÷Òµ·þÎñÆ÷¹ÜÀíµÄÅú´¦Àí×÷Òµ¡£
¸ú×Ù²»Í¬Î¢·þÎñÖ®¼äµÄÊÂÎñ£¨»òÇëÇóÁ÷£©ÐèÒª¸ù¾ÝÓ¦ÓóÌÐòÖв»Í¬Î¢·þÎñÖ®¼äµÄÇëÇó-ÏìÓ¦¶Ô´´½¨Òò¹û¹ØÏµ¡£ÎªÁËÍêÈ«²»ÊÜÓ¦ÓóÌÐò£¬ÕâÀォ¸ÃÓ¦Óõ±×÷Ò»¸öºÚºÐ¡£Òò´Ë²»·ÁÈÏΪӦÓóÌÐòÖÐûÓÐÀûÓÃÈκÎÈ«¾ÖΨһÇëÇó±êʶ·ûÀ´¸ú×Ù¿ç΢·þÎñµÄÓû§ÇëÇó¡£
ΪÁË×·×ÙÉÏÎÄËùÌáµÄÒò¹û¹ØÏµ£¬ÕâÀï²ÉÓÃÁËAguileraµÈÈËÔÚ2003 SOSPÂÛÎÄÖÐÌá³öµÄÒ»ÖֶԺںзֲ¼Ê½ÏµÍ³½øÐÐÐÔÄÜ·ÖÎöµÄ·½·¨£¬²¢×öϸ΢µÄÐ޸ġ£¶ÔÓÚͬ²½µÄÍøÂç·þÎñ£¬ÂÛÎÄÌá³öÁËÒ»ÖÖnesting
algorithm£¬½«·Ö²¼Ê½Ó¦ÓóÌÐò±íʾΪһ¸öͼ£¬¸÷Ìõ±ß´ú±í½ÚµãÖ®¼äµÄÏ໥×÷Óá£Õâ¸önesting algorithm»á¼ì²é·þÎñÖ®¼äµÄµ÷ÓÃʱ¼ä´Á£¬½øÒ»²½ÍÆ¶ÏÆäÒò¹û¹ØÏµ¡£¼òµ¥µØËµ£¬Èç¹û·þÎñAµ÷Ó÷þÎñB£¬¶øAÔÚ·µ»ØÏìӦ֮ǰ»áºÍ·þÎñCͨÐÅ£¬ÄÇô·þÎñBºô½ÐC±»ÈÏΪÊÇÓÉAµ÷ÓÃBÒýÆðµÄ¡£Í¨¹ý·ÖÎöÒ»´ó×éÏûÏ¢£¬ÕâÀï¿ÉÒԵõ½·þÎñ¼äÓÐͳ¼ÆÐÔÖÃÐŶȵĵ÷ÓÃÁ´£¬²¢Ïû³ý¿ÉÄÜÐÔ½ÏСµÄÑ¡Ïî¡£ÂÛÎÄ·¢±íµÄÔʼËã·¨Ö¼ÔÚÀëÏß·½Ê½Ï²Ù×÷´óÐ͵ĸú×Ù¼¯¡£Õâ¸öÓÃÀý»áÐ޸ĸÃËã·¨À´²Ù×÷Êý¾Ý°üÁ÷µÄÒÆ¶¯´°¿Ú£¬²¢ÂýÂýÖð²½ÍêÉÆµÄÍØÆË½á¹¹Íƶϡ£
ͼ3ÏÔʾÁËÊÂÎñ¸ú×ÙÓ¦ÓÃÖÐ×÷ÒµµÄ²¿·Ö¹¤×÷Á÷³Ì¡£Í¼4ÏÔʾÁËÔÚÒ»¸ö×â»§Ó¦ÓÃÖеÄÊÂÎñ¸ú×Ù£¬ÓÉSparkÓ¦ÓÃÍÆµ¼¡£PacketÁ÷µ½´ï¿éÖУ¬ÒÔPCAP¸ñʽ·â×°¡£¸öÌåÁ÷´ÓPacketÁ÷ÖÐÌáÈ¡²¢°´»¬¶¯´°¿Ú·Ö×飬¼´dstreams¡£ÔÚ¸ø¶¨µÄʱ¼ä´°¿ÚÄÚ£¬HTTPÇëÇóºÍÇëÇóÏìӦͨ¹ý¶Ô±È±ê×¼µÄ5¸ötuple
ÌáÈ¡£¨src_ip¡¢src_port¡¢dest_ip¡¢dest_port£¬ protocol£©£¬×é³ÉÏÂÒ»¸öDStream£¬È»ºóµ½nesting
algorithmÖÐʵÏֵįäÓà´¦Àí¹ÜµÀ£¨Î´ÔÚͼÖÐÏÔʾ£©¡£ÊÂÎñ¸ú×ÙÓ¦ÓÃÊä³ö½á¹û»á´æ´¢µ½Ê±¼äÐòÁÐÊý¾Ý´æ´¢ÇøÖУ¨InfluxDB£©¡£

µÚ¶þ¸öSparkÓ¦ÓÃÊÇÒ»¸ö±ê×¼ÅúÁ¿·ÖÎöÓ¦ÓóÌÐò£¬ÔÚ¸ø¶¨µÄʱ¼ä´°¿Ú²úÉú·þÎñµ÷ÓÃͼÒÔ¼°µ÷ÓÃÑÓ³Ùͳ¼Æ¡£Ó¦ÓÃ×÷Ϊ±ê×¼Åú´¦Àí×÷Òµ±»Ìá½»µ½Spark×÷Òµ·þÎñÆ÷¡£Èçͼ5Ëùʾ£¬ÅúÁ¿·ÖÎöÓ¦ÓôÓInfluxDB·ÖÀë³ö¶ÀÁ¢ÊÂÎñ¸ú×Ù£¬²¢½«Ã¿¸ö¶ÀÁ¢ÊÂÎñ¸ú×Ùת»»Îª<vertex,edge>¶ÔµÄÁÐ±í¡£ÁÐ±í±»¾Û¼¯³ÉÁ½¸öRDDS£¬Ò»¸ö°üº¬¶¥µãÁÐ±í£¬¶øÁíÒ»¸öΪ±ßÁÐ±í¡£¶¥µãÁбí¸ù¾Ý¶¥µãÃû³Æ½øÒ»²½½âÎö¡£×îºó£¬Ó¦ÓóÌÐòµÄµ÷ÓÃͼÔÚÓÐÏòͼÖмÆË㣬ÒÔ¼°Í¼ÖÐÿÌõ±ßÑÓ³Ùʱ¼äµÄͳ¼ÆÊý¾Ý¡£¸ÃͼÊÇÓ¦ÓóÌÐòʱ¼äÑݱäͼµÄÒ»¸öʵÀý£¬±íʾ¸ø¶¨Ê±¼äÄÚµÄ״̬¡£Í¼6ºÍ7ÏÔʾµ÷ÓÃͼºÍ×â»§Ó¦ÓÃÑÓ³Ùʱ¼äµÄͳ¼ÆÊý¾Ý£¬×÷Ϊ¸ÃÅú´ÎµÄ·ÖÎö×÷ÒµÊä³ö¡£
  
ͨ¹ýSparkƽ̨£¬¸÷ÖÖ²»Í¬ÀàÐ͵ķÖÎöÓ¦ÓÿÉÒÔͬʱ²Ù×÷£¬ÈçÀûÓÃÒ»¸öͳһµÄ´óÊý¾Ýƽ̨½øÐÐÅúÁ¿´¦Àí¡¢Á÷ºÍͼÐδ¦Àí¡£ÏÂÒ»²½ÔòÊÇÑо¿ÏµÍ³µÄ¿ÉÀ©Õ¹ÐÔ·½Ã棬Èçͨ¹ýÔö¼ÓÖ÷»úÏßÐÔÌáÉýÊý¾ÝÌáÈ¡ËÙ¶È£¬²¢Í¬Ê±´¦Àí³ÉǧÉÏÍò×â»§µÄÓ¦ÓÃ×Ù¼£¡£ºóÐø»á¼ÌÐø»ã±¨Õâ·½ÃæµÄ½øÕ¹Çé¿ö¡£
|