µÚ10ÕÂÌÖÂÛÁËHadoop°²È«ÐÔÒÔ¼°HadoopÖÐÓÃÓÚÌṩ°²È«¿ØÖƵĻúÖÆ¡£µ±¹¹½¨ÆóÒµ¼¶°²È«½â¾ö·½°¸(Ëü¿ÉÄÜ»áÎ§ÈÆ×ÅÓëHadoopÊý¾Ý¼¯½»»¥µÄÐí¶àÓ¦ÓóÌÐòºÍÆóÒµ¼¶·þÎñ)ʱ£¬±£Ö¤Hadoop×ÔÉíµÄ°²È«½ö½öÊǰ²È«½â¾ö·½°¸µÄÒ»¸ö·½Ãæ¡£¸÷ÖÖ×é֯ŬÁ¦¶ÔÊý¾Ý²ÉÓÃһֵݲȫ»úÖÆ£¬¶øÊý¾ÝÊÇ´Ó²ÉÓÃÁ˲»Í¬°²È«²ßÂÔµÄÒì¹¹Êý¾ÝÔ´ÖÐÌáÈ¡µÄ¡£µ±ÕâЩ×éÖ¯´Ó¶à¸öÔ´»ñÈ¡Êý¾Ý£¬½Ó×ÅÌáÈ¡¡¢×ª»»²¢½«Êý¾Ý¼ÓÔØµ½Hadoopʱ£¬Ëæ×Žá¹ûÊý¾Ý¼¯±»µ¼Èëµ½ÆóÒµ¼¶Ó¦ÓÃÖУ¬°²È«ÌôÕ½ÉõÖÁ±äµÃ¸ü¼Ó¸´ÔÓ¡£ÀýÈ磬µ±´ÓHadoop×÷ÒµÖвúÉúµÄÊý¾Ý¼¯´ú±í×Ŷà¸öÊý¾Ý¼¯µÄ×éºÏʱ£¬Ó¦¸ÃÈçºÎ¶Ô³õʼÊý¾Ý¼¯ÊµÊ©·ÃÎÊ¿ØÖƲßÂÔ£¿
¸üΪ¸´ÔÓµÄÊÇ£¬Ðí¶à×éÖ¯·¢ÏÖHadoopÌṩµÄ°²È«¼¶±ð²»ÄÜÂú×ãËüÃǵݲȫ¹æÕÂÐèÇ󣬶øÇÒËüÃDZØÐë²¹³äHadoopµÄ°²È«Ä£ÐÍ¡£ÀýÈ磬ΪÁËÂú×ãÆä¹æÕÂÒªÇó£¬Ò»Ð©×éÖ¯ÐèÒª¼ÓÃܾ²Ö¹µÄÊý¾Ý¡ª¡ªÕâÊÇHadoopÔ±¾²»ÌṩµÄ¹¦ÄÜ¡£»¹ÓУ¬ÆäËûһЩ×éÖ¯ÒªÇóHadoop²éѯΪ½øÐзÖÎö²éѯµÄÊý¾Ý¿ÆÑ§¼ÒÌṩij¸öÁ£¶È¼¶±ðµÄ¡¢»ùÓÚÊôÐԵķÃÎÊ¿ØÖÆ¡£¾¡¹ÜÕ⵱Ȼ°üº¬ÔÚHadoop°²È«Î´À´µÄ·ÏßͼÖÐ(ÈçµÚ10ÕÂÖеÄÌÖÂÛ)£¬µ«µ±Ç°¶ÔÕâЩ¹¦ÄܵÄÐèÇóÔ¶Ô¶³¬¹ýÁËHadoop×ÔÉíµÄÖ§³ÖÄÜÁ¦¡£
¼øÓÚÕâЩÌôÕ½£¬±ØÐëʹÓÃÒ»ÖÖÕûÌåµÄ(¶ø·ÇÒÔHadoopΪÖÐÐĵÄ)°²È«·½°¸À´¿ª·¢ÆóÒµ¼¶½â¾ö·½°¸¡£µ±È»£¬¿ÉÒÔʹÓÃHadoopÖеÄÔÉú°²È«»úÖÆÀ´Âú×㲿·Ö°²È«ÐèÇ󣬵«ÔÚÐí¶à×éÖ¯ÖУ¬Äã»á·¢ÏÖHadoopµÄ°²È«»úÖÆ²¢²»Äܽâ¾öËùÓÐÎÊÌâ¡£±ØÐëΪʹÓÃHadoopµÄÆóÒµ¼¶Ó¦Óò߻®¡¢Éè¼ÆºÍ²¹³äÆäËû°²È«»úÖÆ£¬Çë²é¿´ÆóÒµ¼¶¡°À¶Í¼¡±¡£
ÈçµÚ10ÕÂÖеÄÌÖÂÛ£¬HadoopÔÚÉè¼ÆºÍ¿ª·¢Ê±Ã»Óп¼Âǰ²È«ÐÔ£¬¶øÇÒÔںܳ¤µÄÒ»¶Îʱ¼äÀHadoopʵÏÖ¶¼¼¸ºõûÓа²È«ÐÔ¡£ÉçÇøÔçÆÚËù²ÉÓõÄÒ»¸ö¼ÙÉèÊÇHadoop¼¯Èº½«ÓÉÏ໥Ð×÷µÄ¡¢¿ÉÐŵĻúÆ÷×é³É£¬²¢ÓÉÔÚ¿ÉÐÅ»·¾³ÖеĿÉÐÅÓû§Ê¹ÓᣴӽÏÔçµÄʱ¼äÆð£¬HadoopÉçÇø²ÉÓÃÁËÒ»ÖÖÐµİ²È«¼Ü¹¹£¬Ê¹ÓÃÁËÐµİ²È«¿ØÖÆ(ÈçµÚ10ÕÂÖеÄÌÖÂÛ)£¬µ«Ðí¶àÐèÒªÏÔʽ·ÃÎÊ¿ØÖÆÏÞÖÆ¡¢±£ÃܹæÔò¡¢Òþ˽±£»¤ºÍ×ñ´Ó·¨¹æµÄ×éÖ¯ÈÔÈ»²»ÄÜʹÓÃHadoopÉú̬ϵͳÖеĻù´¡¹¤¾ßÀ´Âú×ãÆä°²È«ÐèÇó¡£ÓÉÓÚÏëҪʹÓÃHadoopµÄ¹¦ÄÜ£¬Òò´ËÕâЩ×éÖ¯²»µÃ²»½«°²È«·½°¸¹¹½¨µ½ÆäËû¹¤¾ßÖУ¬»òÕßÉè¼Æ²»Í¬·½Ê½µÄHadoopʹÓ÷½°¸¡£
±¾ÕÂÊÇΪÄÇЩÏëҪʹÓÃHadoop£¬µ«È´±ØÐëÂú×㰲ȫÐÔÒªÇóµÄÆóÒµ¼¶Ó¦Óÿª·¢Õß¶ø±àдµÄ¡£ÖØÒªµÄÊÇÒªÀí½â´ó¶àÊýÆóÒµ¼¶Ó¦Óö¼ÐèÒª×ñ´Ó×éÖ¯µÄ°²È«ÐèÇó¡£Õâ¿ÉÄܰüº¬ÁËÓëÉí·ÝºÍ·ÃÎʹÜÀí»ù´¡ÉèÊ©¡¢ÆäËûÍøÂç»ù´¡ÉèÊ©µÄÏ໥½áºÏ£¬Ò²¿ÉÄÜÒâζ×ÅÒªÓ¦ÓÃÉÐδÓë¡°ÐÂÀ´µÄ¡±Hadoop¼¯³ÉµÄÆäËû°²È«¿ØÖÆ¡£±¾Õ¸ø³öÁËÓÃÓÚÂú×ãÕâЩÐèÇóµÄ·½·¨ÂۺͿÉÄܵĽâ¾ö·½°¸¡£
±¾ÕÂ×ʼ¼òÒªµØ¸ÅÊö¿ª·¢Ê¹ÓÃHadoopµÄÆóÒµ¼¶Ó¦ÓÃʱ¿ÉÄÜÓöµ½µÄ°²È«¹ËÂÇ¡£½Ó×ÅÌÖÂÛHadoop°²È«ÉÐδÌṩµÄ»úÖÆ£¬²¢¸ø³öÁËһϵÁÐÓÃÓÚ¹¹½¨Ê¹ÓÃHadoopµÄÆóÒµ¼¶°²È«½â¾ö·½°¸µÄ·½·¨£¬²¢°üÀ¨Ò»Ð©Êµ¼ÊʾÀý¡£×îºó£¬±¾Õ¼òÒªµØº¸ÇÁË¿ÉÒÔÔÚHadoop·¢ÐаæÖÐʹÓõÄÁíÍâÒ»¸ö¹¤¾ßËùÌṩµÄ°²È«ÐÔ¡ª¡ª¸Ã¹¤¾ßÊÇApacheAccumulo£¬ËüÊÇÒ»¸ö¸ß¶È°²È«µÄÊý¾Ý´æ´¢ºÍ¼ìË÷ϵͳ£¬ÓÉÃÀ¹ú¹ú¼Ò°²È«¾Ö(NSA)×î³õ¹¹½¨ÔÚHadoopÖ®ÉÏ£¬ÓÃÓÚϸÁ£¶È·ÃÎÊ¿ØÖƵÄÄ¿µÄ¡£
12.1 ÆóÒµ¼¶Ó¦Óõݲȫ¹ËÂÇ
µ±¹¹½¨Hadoop½â¾ö·½°¸Ê±£¬¿¼ÂDZ£Ö¤Hadoop×ÔÉíµÄ°²È«(ÈçµÚ10ÕÂÖеÄÌÖÂÛ)²¢²»ÊÇÎ¨Ò»ÖØÒªµÄÊÂÇ飬Àí½â°²È«²ßÂÔµÄÀ¶Í¼ºÍÒÔÊý¾ÝΪÖÐÐĵÄÊÓ½ÇÒ²ºÜÖØÒª¡£
ÕýÈçÔÚͼ12-1Öп´µ½µÄÄÇÑù£¬±ØÐëÒªÀí½âHadoopÊý¾ÝÉúÃüÖÜÆÚ¡£µ±¹¹½¨Hadoop½â¾ö·½°¸Ê±£¬»á´æÔÚÒ»¸ö¹ý³Ì£¬¼´´ÓÐÅÏ¢Ô´»ñÈ¡Êý¾Ý¼¯¡¢½«Êý¾Ý¼¯¼ÓÔØµ½Hadoop¼¯Èº¡¢ÔËÐвéѯºÍ·ÖÎö£¬ÒÔ¼°Ê¹Óýá¹û¼¯¡£Ëæ×ÅÊý¾ÝµÄÁ÷¶¯£¬°²È«¼Ü¹¹Ê¦µÄÄ¿±ê¾ÍÊÇÈ·±£ÔÚÕû¸öÊý¾ÝÉúÃüÖÜÆÚÖÐʵʩÁËÈ«²¿µÄ·ÃÎʲßÂÔ¡£
²»¿¼ÂÇÉæ¼°µÄ¹¤¾ß£¬Êý¾Ý´Ó¸÷ʽ¸÷ÑùµÄÊý¾ÝÔ´ÌáÈ¡³öÀ´¡¢×ª»»³ÉijÖÖ³£Óøñʽ²¢¼ÓÔØµ½Hadoop¼¯ÈºµÄHDFSÉÏ£¬Õâͨ³£±»³ÆÎªÌáÈ¡(Extract)¡¢×ª»»(Transform)ºÍ¼ÓÔØ(Load)¹ý³Ì(ETL¹ý³Ì)¡£Êý¾Ý·ÖÎöʦ½Ó×ÅÔËÐÐһϵÁÐMapReduce×÷Òµ£¬²¢Ö´ÐвúÉú½á¹û¼¯µÄ²éѯ£¬¶ø½á¹û¼¯Í¨³£ÓÖ·´¹ýÀ´ÓÃÓÚÆóÒµ¼¶Ó¦Óá£
ÕâÀïÃæÁÙµÄÌôÕ½ÊÇ¶à·½ÃæµÄ¡£Äã±ØÐëÄܹ»ÔÚÊý¾Ý´©Ô½Õû¸öÉúÃüÖÜÆÚµÄ¹ý³ÌÖб£»¤Ëü£¬ÒÔ×ñ´ÓÔʼµÄ°²È«²ßÂÔ¡£ÓÉÓÚÊý¾ÝÒª¾¹ýÌáÈ¡¡¢¼ÓÔØ²¢Ó뼯Ⱥ»úÆ÷ÉÏµÄÆäËûÊý¾Ý¼¯Ïà×éºÏ£¬¶øÇÒÆäËûÓ¦ÓóÌÐò»¹»áʹÓýá¹û¼¯£¬Òò´ËÕâ¿ÉÄÜ»áÊÇÒ»¸öÌôÕ½¡£

ͼ12-1 HadoopÊý¾ÝÉúÃüÖÜÆÚÖеݲȫ¹ËÂÇ
ͼ12-1ºÜºÃµØ¸ÅÀ¨Á˱¾ÕÂËù¿¼²ìµÄһЩ¹ËÂÇ¡£Òª¹¹½¨Éæ¼°HadoopµÄÆóÒµ¼¶°²È«½â¾ö·½°¸£¬¼Ü¹¹Ê¦ÃDZØÐëÀí½âÐÅÏ¢°²È«»ù´¡£¬ÒÔ¼°ÈçºÎÓ¦ÓÃËüÃÇ¡£ÕâÀïÐèÒª¶ÔÓÃÓÚHadoop½â¾ö·½°¸µÄ´óÁ¿°²È«Ä¿±ê½øÐÐһЩ½âÊÍ£¬¶øÇÒÀí½â×î¼Ñʵ¼ùÈ¡¾öÓÚ¶Ô°²È«¹ËÂǺÍÏà¹ØÊõÓïµÄÀí½â¡£´ËÌÖÂÛµÄÄ¿µÄ²»ÊǸø³öÒ»¸öÏ꾡µÄÇåµ¥»òÕß½âÊÍÿһ¸ö°²È«¹ËÂÇ£¬¶øÊÇÌṩһ¸ö¶ÔÓ¦ÓÚ°²È«Ä¿±êµÄ¼òÒªÐÅÏ¢°²È«´Ê»ã±í£¬ÕâЩ¶¼ÊÇÆóÒµ¼Ü¹¹Ê¦ÐèÒªÁ˽âµÄ¡£Ã¿¸öÄ¿±êÖж¼ÓÐÊõÓïµÄ¶¨Ò壬Òò¶ø¿ÉÒÔÀí½âËüÃÇΪʲôÔÚHadoopÉÏÏÂÎÄÖкÜÖØÒª¡£
12.1.1 ÈÏÖ¤
ÈÏÖ¤Òâζ×ÅÑé֤ij¸öÖ÷ÌåµÄÉí·Ý¡£Ö÷Ìå¿ÉÄÜÊÇij¸öϵͳÖеÄÓû§¡¢Ó¦ÓóÌÐò¡¢ÈÎÎñ»òÕ߯äËû¡°Ö´ÐÐÕß¡±¡£ÈçµÚ10ÕµÄÌÖÂÛ£¬¿ÉÒÔ½«HadoopÅäÖÃΪʹÓÃKerberosÀ´ÈÏÖ¤Óû§¡¢·þÎñºÍHadoop¼¯ÈºÖеķþÎñÆ÷¡£ÈÏÖ¤¿ÉÒÔΪÓû§ºÍ·þÎñËùÉù³ÆµÄÉí·ÝÌṩһ¶¨³Ì¶ÈµÄ±£Ö¤£¬²¢ÇÒ×èÖ¹Óû§¡¢ÈÎÎñºÍ·þÎñ±»¶ñÒâϵͳð³ä¡£
»¹Ó¦¸ÃÌáµ½µÄÒ»µãÊÇ£¬²¢·Çÿ¸ö×éÖ¯¶¼ÓÐÓÃÓÚÔÚHadoopÖ®Íâ½øÐÐÈÏÖ¤µÄÆóÒµ¼¶Kerberos²¿Êð¡£ÆóÒµ¼¶Ó¦ÓÿÉÄÜÐèÒª½«ÆäËûÉí·ÝºÍ·ÃÎʹÜÀí»ù´¡ÉèÊ©½øÒ»²½¼¯³Éµ½×ÔÉíµÄ½â¾ö·½°¸ÖС£
12.1.2 ÊÚȨ
ÊÚȨÒâζ×ÅÈ·¶¨Ä³¸öÖ÷ÌåÓÐȨÏÞ×öʲô¡£Ö÷ÌåµÄÉí·ÝÔÚÈÏÖ¤ÖÐÑéÖ¤Ö®ºó£¬ÏµÍ³±ØÐëÈ·¶¨Ö÷ÌåµÄÊÚȨƾ¾Ý£¬²¢½«ËüÃÇÓë¼È¶¨µÄÊÚȨ²ßÂÔÏà±È½ÏÀ´Ìṩ¶Ô±»ÇëÇó×ÊÔ´µÄ·ÃÎÊ¡£ÈçµÚ10ÕÂÖеÄÌÖÂÛ£¬Hadoopµ±Ç°Ìṩij¸ö¼¶±ðµÄ·ÃÎÊ¿ØÖÆ£¬Í¨¹ýʹÓ÷ÃÎÊ¿ØÖÆÁбí(ACL)À´±í´ï¶ÔHadoopijЩ·½ÃæµÄ·ÃÎÊ¿ØÖƲßÂÔ£¬²¢Ê¹ÓÃÀàËÆUNIXµÄÎļþ·ÃÎÊȨÏÞÀ´±í´ïËùÓÐÕߺÍ×éÓû§µÄ·ÃÎÊȨÏÞ¡£
³ýÁËHadoopÌṩµÄ»úÖÆÖ®Í⣬´ó¶àÊýÆóÒµ×éÖ¯»¹ÓÐÓÃÓÚÊÚȨµÄ¶îÍâ¿ØÖÆ¡£ÀýÈ磬һ¸ö×éÖ¯¿ÉÄÜÓÐÒÔÏÂËùÁоٵÄÒ»¸ö»ò¶à¸ö»úÖÆ£º
1.ÇáÁ¿¼¶Ä¿Â¼·ÃÎÊÐÒé(LDAP)Ŀ¼»ò»î¶¯Ä¿Â¼(AD)ʵÀý¡ª¡ªÓÃÓÚΪÖ÷Ìå±£´æ×é¡¢½ÇÉ«ºÍ·ÃÎÊȨÏÞ¡£
2.ÊôÐÔ·þÎñ¡ª¡ª½«ÊôÐÔÓÃ×÷Ö÷ÌåµÄÊÚȨƾ¾Ý¡£
3.°²È«ÁîÅÆ·þÎñ(STS)¡ª¡ªÓÃÓÚ·¢·ÅÓëÖ÷ÌåÊÚȨƾ¾ÝÏà¹ØµÄÁîÅÆ£¬ÒÔ¼°ÓÃÓÚ·¢·ÅÊÂÎñÖеÄÊÚȨ¾ö²ß¡£
4.²ßÂÔ·þÎñ¡ª¡ªÊ¹ÓÃһЩ±ê×¼£¬ÀýÈç¿ÉÀ©Õ¹·ÃÎÊ¿ØÖƱê¼ÇÓïÑÔ(XACML)ºÍ°²È«¶ÏÑÔ±ê¼ÇÓïÑÔ(SAML)£¬À´±í´ï×ÊÔ´µÄ·ÃÎÊ¿ØÖƲßÂÔ£¬²¢ÎªÖ÷ÌåÌṩ·ÃÎÊ¿ØÖƾö²ß¡£
ʹÓÃHadoopµÄÆóÒµ¼¶½â¾ö·½°¸¿ÉÄÜÐèÒª»ùÓÚ×Ô¼º×éÖ¯µÄÆóÒµ¼¶·ÃÎÊ¿ØÖƲßÂÔÀ´¿ØÖƶÔÊý¾Ý¼¯µÄ·ÃÎÊ£¬Õâͨ³£Òâζ×ÅҪʹÓÃÆäËû»úÖÆÀ´²¹³äHadoopÔÉúµÄÊÚȨ¿ØÖÆ¡£
ÐèÒª¼ÇסµÄÊÇ£¬ÔÚÕû¸öÊý¾ÝÉúÃüÖÜÆÚÖб£³ÖÒ»ÖÂÐÔµÄÊÚȨºÜÖØÒª¡£Èç¹ûÔʼÊý¾ÝÔ´ÓжÔÊý¾ÝµÄ·ÃÎÊ¿ØÖƲßÂÔ£¬ÄÇô¶ÔÄãÀ´ËµºÜÖØÒªµÄÒ»µã¾ÍÊÇΪ¶ÔÕâЩÊý¾ÝÔËÐвéѯµÄÊý¾Ý¿ÆÑ§¼ÒÃÇÌṩÏàͬµÄ·ÃÎÊ¿ØÖÆ¡£¶ÔËùÓкóÐøµ¼Èëµ½ÆóÒµ¼¶Ó¦ÓõĽá¹û¼¯½øÐÐÊʵ±µÄ¿ØÖÆ£¬ÕâÒ»µã¿ÉÄÜÉõÖÁÊǸüÖØÒªµÄ¡£µ«ÕâµÄÈ·ÊÇÒ»¸öÌôÕ½¡£
12.1.3 ±£ÃÜÐÔ
±£ÃÜÐÔÊÇÒ»ÖÖÏÞÖÆÃô¸ÐÐÅÏ¢½ö¶ÔÒÑÊÚȨµÄ²ÎÓë·½¿É¼ûµÄ°²È«Ä¿±ê¡£µ±ÔÚÍøÂçÖд«ÊäÃô¸ÐÐÅϢʱ£¬¿ÉÄܵÄÐèÇóÊǸÃÐÅÏ¢²»ÄÜÔÚ´«Êä¹ý³ÌÖб»ÇÔÌýÕß¿´µ½¡£Õâͨ¹ýÍøÂç¼ÓÃÜÀ´×öµ½¡£Ä³Ð©×éÖ¯ÐèÒª´ÅÅÌÉϵļÓÃÜ£¬»ò¡°¾²Ö¹Êý¾Ý¡±µÄ¼ÓÃÜ£¬ÆäÖн«¼ÓÃÜÓ¦ÓÃÔÚÊý¾Ý´æ´¢µÄλÖ㬽µµÍÁËδ±£»¤Êý¾Ý±»ÍµÇԵķçÏÕ¡£
ÈçµÚ10ÕÂÖÐËùѧ£¬HadoopÌṩÓÃÓÚÍøÂç¼ÓÃܵÄÄÜÁ¦ºÍ»úÖÆ¡£È»¶ø£¬Ëü²»ÌṩÓÃÓÚ¼ÓÃܾ²Ö¹Êý¾ÝµÄÄÜÁ¦¡£±¾ÕºóÃæ½«½øÒ»²½Ñ§Ï°ÓÃÓÚ´ï³É´ËÄ¿±êµÄ²ßÂÔ¡£
12.1.4 ÍêÕûÐÔ
ÍêÕûÐÔÒâζ×ÅÈ·±£Êý¾ÝÔÚ´«Êä»òÕß¾²Ö¹Ê±Ã»Óб»¸Ä¶¯¡£Õâͨ³£Ê¹ÓÃÏûÏ¢ÕªÒª¡¢¹þÏ£Âë»òÕßÊý×ÖÇ©Ãû¸½´ø¹¦ÄܵȼÓÃÜ»úÖÆÀ´ÊµÏÖ¡£µ±ÅäÖÃHadoopʵÏÖÍøÂç¼ÓÃÜʱ£¬Ëü»áÔÚ´«ÊäÖÐÓ¦ÓÃÊý¾ÝÍêÕûÐÔ¡£
¾²Ì¬Êý¾ÝµÄÍêÕûÐÔÊÇÁíÍâÒ»¸öÎÊÌ⣬¶øÐÒÔ˵ÄÊÇ£¬ÓÉÓÚҪȷ±£Êý¾Ý¸´ÖƵĿɿ¿ÐÔ£¬HadoopÖÐÒѾÄÚÖÃÁË´óÁ¿Êý¾ÝÍêÕûÐÔ»úÖÆ¡£Hadoop½¡×³¡¢·Ö²¼Ê½¼Ü¹¹µÄÒ»¸ö×ÔÈ»µÄ¸±²úÆ·¾ÍÊÇÊý¾ÝÍêÕûÐԺͿɿ¿ÐÔ¡£ÓÉÓÚHDFS±»Éè¼ÆÎªÔËÐÐÔÚÉÌÓÃÓ²¼þÖ®ÉÏ£¬Òò´ËΪÁËÈÝÈ̹ÊÕÏ£¬Ëü»á½«Êý¾ÝµÄ¸±±¾·ÅÖÃÔÚ¶à¸ö½ÚµãÉÏ¡£»ùÓÚ¸±±¾µÄÊýÁ¿£¬ÒÔ¼°Ð£ÑéºÍ¼ì²éÓë³åÍ»¼ì²âµÄ»úÖÆ£¬ËüΪ±£´æÔÚHDFSÖÐÊý¾Ý¼¯µÄÍêÕûÐÔÌṩÁËÒ»ÖÖ½¡×³µÄ»úÖÆ¡£
È»¶ø£¬°²È«¼Ü¹¹Ê¦ÃÇÓÐʱ»á±í´ïÕâÑùµÄµ£ÓÇ£¬¼´Èç¹ûHadoop¼¯ÈºÖеÄij¸ö½Úµã±»¹¥ÆÆµÄ»°£¬¶ñÒâÓû§¿ÉÄÜ»áÐÞ¸ÄÊý¾Ý£¬µ¼ÖÂÊý¾Ý·ÖÎö½á¹ûµÄÆ«²î¡£Õ⵱ȻÊÇÒ»ÖÖ¿ÉÄÜÐÔ£¬µ«Í¨¹ýʹÓÃÒ»ÖÖ·ÀÓù×ÝÉîµÄ°²È«²ßÂÔÀ´²¹³äHadoopµÄ°²È«»úÖÆ(·þÎñÆ÷/·þÎñÈÏÖ¤¡¢ÍêÕûÐÔ¼ì²éµÈ)£¬ÆóÒµ¼¶½â¾ö·½°¸¼Ü¹¹Ê¦ÃǾͿÉÒÔ½µµÍÕâÖÖ·çÏÕ¡£
12.1.5 Éó¼Æ
´ó¶àÊý¹«Ë¾ÒÀÀµÓÚ°²È«Éó¼ÆÀ´ÌṩºÏ¹æÐÔÎÊÌâµÄ±£Ö¤£¬ÒÔ¼°·¢ÏÖDZÔڵݲȫ©¶´¡£µ±È»¿ÉÒÔ½«HadoopÅäÖÃΪ¼Ç¼ËùÓзÃÎÊ¡ª¡ªNameNode±£´æ±¾µØÈÕÖ¾£¬ÎªÁËÈ·±£ÈÕÖ¾ÍêÕûÐÔ£¬¿ÉÒÔÅäÖý«Éó¼ÆÈÕ־дÈëµ½Êܱ£»¤µÄ¾í¡£¸÷ÖÖ×éÖ¯¿ÉÄÜÓÐÓëÈÏÖ¤ºÍÊÚȨÏà¹ØµÄ¸ü½øÒ»²½µÄÉó¼ÆÐèÇó¡£
×¢Ò⣺
¾¡¹Ü¹ØÓÚ¾µä°²È«Ä¿±êµÄ´ó¶àÊýÃèÊöͨ³£¶¼¹Ø×¢ÓÚ¡°±£ÃÜÐÔ¡±¡¢¡°ÍêÕûÐÔ¡±ºÍ¡°¿ÉÓÃÐÔ¡±£¬µ«ÕâÀïµÄÌÖÂÛ¹Ø×¢ÓÚÈÏÖ¤¡¢ÊÚȨ¡¢±£ÃÜÐÔ¡¢ÍêÕûÐÔºÍÉ󼯣¬ÒòΪÕâЩÊÇÆóÒµ¼¶Ó¦Óð²È«µÄ¹Ø¼ü·½Ãæ¡£¿ÉÓÃÐÔ(±£Ö¤¶ÔHadoopµÄ·ÃÎÊ)¹ÌÈ»ÖØÒª¡ª¡ª´ÓHadoopµÄÉè¼Æ·½Ê½ÉϾͿÉÒÔ¿´³öÒѾ¿¼ÂÇÁËÕâÒ»µã¡£Hadoop¼¯ÈºÊǸ߿ɿ¿ÐԵģ¬¶Ô¿ÉÓÃÐÔÓи߶ȵĸú×ټǼ£¬¶øÇÒÓÉÆóÒµÖÐµÄÆäËû°²È«»úÖÆ(ÀýÈçÈëÇÖ¼ì²âϵͳ)À´²¹³ä£¬ÒÔ·À·¶¾Ü¾ø·þÎñ(DoS)¹¥»÷¡£ÕâÔÚ±¾ÕÂÖÐûÓк¸Ç£¬ÒòΪ´ËÌÖÂÛÊÇÃæÏòÆóÒµ¼¶Ó¦Óÿª·¢Õߵġ£
12.2 Hadoop°²È«Ã»ÓÐΪÆóÒµ¼¶Ó¦ÓÃÔÉúµØÌṩÄÄЩ»úÖÆ
ÏÖÔÚ£¬ÄãÒÑ¾ÕÆÎÕÁËһЩÉÏÏÂÎĺͰ²È«ÊõÓ´Ó¶øÎªÑ§Ï°±¾ÕÂÓàϵÄÄÚÈÝ×öºÃÁË×¼±¸£¬µ«Àí½âHadoopûÓÐÔÉúÌṩµÄijЩ·½ÃæµÄÆóÒµ¼¶°²È«ÊǺÜÖØÒªµÄ¡£µ±È»£¬HadoopȷʵÌṩÁËijÖÖ¼¶±ðµÄÈÏÖ¤(Kerberos)¡¢Ò»¶¨³Ì¶ÈµÄÊÚȨ(ACLºÍUNIX¼¶±ðµÄÎļþ·ÃÎÊȨÏÞ)£¬ÒÔ¼°Ö§³ÖÍøÂç¼ÓÃܺÍÍêÕûÐÔµÄÄÜÁ¦¡£È»¶ø£¬HadoopȴûÓÐÌṩijЩ·½ÃæµÄ°²È«ÐÔ¡£
12.2.1 ÃæÏòÊý¾ÝµÄ·ÃÎÊ¿ØÖÆ
³ýÁËÕë¶ÔHDFSÉÏÓû§ºÍ×éµÄACLºÍ»ùÓÚPOSIXµÄÎļþ·ÃÎÊȨÏÞ(¶ÁºÍд)Ö®Í⣬Hadoop²¢²»ÔÉúµØ¸ú×ÙÆäÊý¾ÝµÄ·ÃÎÊ¿ØÖƲßÂÔ¡£Èç±¾ÕÂËùÊö£¬Ðí¶à×éÖ¯»á»ùÓÚ¿ÉÄܷdz£¸´ÔӵIJßÂÔÀ´ÏÞÖÆ·ÃÎÊ¡£¿ÉÄÜ´æÔÚijЩÇé¿ö£¬ÆäÖÐHadoopʵÏÖ°üº¬Ò»Ð©Êý¾Ý¼¯£¬±ØÐë¶ÔÕâЩÊý¾Ý½øÐб£»¤£¬ÒÔ½ûֹijЩ¿ÉÄÜûÓÐȨÏÞ¿´µ½MapReduce×÷ÒµºÍ²éѯ½á¹ûµÄÊý¾Ý·ÖÎöʦÃÇ·ÃÎÊ¡£
ÒÔÏÂÊÇÕâ·½ÃæµÄһЩºÜºÃµÄʾÀý£º
1.ij¸ö½¡¿µ»¤Àí×éÖ¯¿ÉÄÜÓÐÕâÑùµÄ·ÃÎÊ¿ØÖÆÐèÇ󣬼´ÄÚ¿ÆÒ½ÉúÖ»¿ÉÒÔ·ÃÎÊÓëËû×Ô¼ºµÄ²¡ÈËÏà¹ØµÄÊý¾Ý£¬¶øÇÒÊÇÔÚÕý³£µÄ¹¤×÷ʱ¼äÄÚ(ÉÏÎç9µãµ½ÏÂÎç5µã)¡£ÕâÒâζ×ÅÒª¶Ô²¡ÈËÊý¾Ý½øÐзÃÎÊ¿ØÖÆ£¬Ìṩ·ÃÎʸÃÊý¾ÝµÄϵͳ±ØÐë»ùÓÚÓû§µÄ½ÇÉ«(ÄÚ¿ÆÒ½Éú)¡¢Ò»ÌìÖеÄʱ¼ä(Õý³£¹¤×÷ʱ¼ä)ÒÔ¼°ÊÇ·ñÊÇÊôÓÚ¸ÃÄÚ¿ÆÒ½ÉúµÄ²¡È˼ǼÀ´ÏÞÖÆÊý¾Ý¡£
2.Õþ¸®Îĵµ¿ÉÄÜҪʹÓñ»³ÆÎªÇ¿ÖÆ·ÃÎÊ¿ØÖÆ(MAC)µÄ²ßÂÔ£¬»ùÓÚÓû§µÄ¹«ÃñÉí·ÝºÍ/»ò°²È«Ðí¿ÉÖ¤À´ÏÞÖÆ·ÃÎÊ¡£
3.ÎªÌØ¶¨¹«Ë¾Ìṩ½¨ÒéµÄÉÌÒµ¹ËÎÊÓ¦¸ÃûÓÐȨÏÞ·ÃÎÊΪ¾ºÕù¶ÔÊÖÌṩµÄ¼Æ»®ºÍ½¨Òé¡£Õâͨ³£±»³ÆÎª¡°ÐËȤ³åÍ»¡±»òÕß¡°³¤³Ç¡±²ßÂÔ¡£
4.´óѧ¿ÉÄÜ»á´ÓÆä¸÷¸ö²¿ÃźÍÏÂÊô×éÖ¯ÖÐÊÕ¼¯Ñ§ÉúÊý¾Ý£¬·¶Î§°üÀ¨²ÆÕþ¡¢Ò½ÁƼǼºÍУ԰¾¯²ì¡£´óѧ¿ÉÄÜÐèÒª»ùÓÚ²¿ÃźͽÇÉ«(Ò½ÁÆ¡¢¾¯²ì¡¢²ÆÕþ)À´¿ØÖƶÔÊý¾ÝµÄ·ÃÎÊ¡£
ÔÚËùÓÐÕâЩÀý×ÓÖУ¬¶¼ÎÞ·¨¼òµ¥µØ½«HadoopÔÉúµÄ°²È«»úÖÆÓÃÓÚʵʩÕâЩ·ÃÎÊ¿ØÖƲßÂÔ¡£ÕâЩÌôÕ½ÖеÄÒ»²¿·ÖÊǽṹÐԵ쬻ùÓÚMapReduceËã·¨µÄÉè¼Æ·½Ê½¡£µ¼ÈëµÄÊý¾Ý¿ÉÄÜ×î³õÓë·ÃÎÊ¿ØÖƲßÂÔÏà¹ØÁª(ÔÚʹÓð²È«²ßÂÔ¡°±ê¼Ç¡±ÁËÊý¾ÝµÄʾÀýÖÐ)¡£È»¶ø£¬²ßÂÔºÍÊý¾ÝÖ®¼äµÄ¹ØÁªÐÔÊÇ´æÔÚÁÑ·ìµÄ£¬ÒòΪÊý¾Ý·Ö²¼ÔÚHDFSÉÏ£¬¶øÇÒºóÐø»áËæ×Å×÷ÒµÔËÐжøÓëÆäËûÊý¾Ý¼¯×éºÏ¡£Õâ¿ÉÄÜ»á²úÉúеġ¢×éºÏµÄÊý¾Ý¼¯£¬ÆäÖеķÃÎÊ¿ØÖƲßÂÔ²¢²»ÍêÈ«ÇåÎú¡£
¶ÔÓÚÐèÒªÌṩ´Ë¼¶±ð·ÃÎÊ¿ØÖƵÄ×éÖ¯À´Ëµ£¬ÕâÊÇÒ»¸öÓÐÌôÕ½ÐÔµÄÎÊÌ⣬±¾ÕºóÃæ½«»á¿¼²ì´ËÎÊÌâ¡£
12.2.2 ²î·ÖÒþ˽
ÔÚ½ü40ÄêÖУ¬ÈËÃÇÒѾ¶ÔÎÞÒâʶµØÐ¹Â¶Í³¼ÆÊý¾Ý¿âÖеÄÐÅÏ¢ÕâÒ»¿ÎÌ⣬ÒÔ¼°ÓëÊý¾ÝÍÚ¾òÏà¹ØµÄ°²È«ºÍÒþ˽¹ËÂǽøÐÐÁËÑо¿¡£2006Ä꣬΢ÈíÑо¿ÔºµÄCynthiaDwork²©Ê¿½«¸ÃÊý¾Ý¿ÆÑ§ÁìÓò¶¨ÒåΪ²î·ÖÒþ˽¡£
²î·ÖÒþ˽¹Ø×¢ÓÚ±£»¤¶à¸öÊý¾Ý¼¯ºÍÊý¾Ý¿âÖеÄÐÅÏ¢£¬ÒÔ·Àֹй¶¡£Ëæ×ÅHadoopºÍÆäËûÊý¾Ý·ÖÎöƽ̨ÒѾÄܹ»Ê¹ÓôóÁ¿¼ÆËãÄÜÁ¦´¦Àí¶à¸ö´óÊý¾Ý¼¯£¬²î·ÖÒþ˽ÒѾ³ÉΪһ¸ö·Ç³£ÈÈÃŵÄÖ÷Ìâ£¬Éæ¼°ÑÏÖØµÄÒþ˽ºÍ·¨ÂÉÎÊÌâ¡£ÕâÒ»µã¶ÔÓÚÀàËÆ¡¶½¡¿µ±£ÏÕЯ´øºÍÔðÈη¨°¸(HIPAA)¡·µÄ·¨ÁîºÍÆäËûһЩÒþ˽±£»¤Êý×Ö·¨ÂÉÀ´ËµÊÇÓÈÆäÊÊÓõġ£
¼´Ê¹Í¨¹ý¡°ÄäÃû»¯¡±È¥³ýÁËÒþ˽ÐÅÏ¢£¬HadoopÊý¾Ý¼¯°üº¬µÄ(»òÕßÓëÖ®ñîºÏµÄ)ÆäËû¿´ÉÏÈ¥ÎÞº¦µÄÐÅÏ¢£¬Ò²¿ÉÄÜ»áй¶¸öÌåµÄÉí·Ý»òÕ߯äËûÃô¸ÐÐÅÏ¢£¬µ¼ÖÂÎ¥·´Òþ˽²ßÂÔ¡£¿ÉÄÜ´æÔÚµÄÇé¿öÊÇ£¬ÒÔijÖÖ·½Ê½×éºÏ¶à¸öHadoop×÷ÒµËù²úÉúµÄÐÅÏ¢ÊDz»ÄܶÔÊý¾Ý¿ÆÑ§¼Ò»òÕßHadoopÓû§¿É¼ûµÄ¡£È»¶ø£¬Hadoop×ÔÉí²¢²»Ìṩ²î·ÖÒþ˽¡£µ±È»£¬Õâ²»½ö»áÓ°ÏìÄÚ²¿Óû§µÄ·ÃÎÊ¿ØÖÆ£¬Ò²»á¶ÔÓëÆäËû×éÖ¯·ÖÏíͳ¼Æ½á¹ûºÍÊý¾Ý¼¯µÄ×éÖ¯²úÉúÑÏÖØµÄÓ°Ïì¡£
ÓÉÓÚHadoopÊÇÒ»¸öÓÉÐí¶à×é֯ʹÓõÄÇ¿´ó·ÖÎöƽ̨£¬Òò´Ë¿ÉÒÔ½«ËüÓÃÓÚ·¢ÏÖÄã¿ÉÄÜûÓÐÏëµ½µÄÐÅÏ¢¡£ÔÚ½«Êý¾Ý¼¯·¢²¼¸ø¹«ÖÚ»òÕß×Ô¼ºµÄÉÌÎñ»ï°é֮ǰ£¬×éÖ¯Ó¦¸ÃÈý˼¶øÐС£×éÖ¯¿ÉÄÜÒ²ÓжÔÊý¾ÝµÄÄÚ²¿¿ØÖÆ¡ª¡ªÕâÈ¡¾öÓÚÄãµÄ»·¾³£¬ÒªÖªµÀ£¬Ä³Ð©HadoopÓû§¿ÉÄÜûÓб»ÊÚȨ·ÃÎÊÆä·ÖÎö²éѯµÄijЩ½á¹û¡£ÕâÔøÊÇNSAµÄ¹ËÂÇÖ®Ò»£¬NSA¿ª·¢²¢ÔÚÖ®ºó·¢²¼ÁËAccumulo£¬×÷ΪApacheµÄ¿ªÔ´ÏîÄ¿£¬Ìṩµ¥Ôª¸ñ¼¶±ðµÄ°²È«¡£
¡°²î·ÖÒþ˽¡±ÎÊÌâʾÀý
¹ØÓÚ²î·ÖÒþ˽µÄ×îÖøÃû°¸ÀýÖ®Ò»·¢ÉúÔÚNetflix¹«Ë¾¡£2006Ä꣬Netflix³ö¼Û100ÍòÃÀÔª£¬ÎªÆäÓ°Æ¬ÍÆ¼öϵͳѰÇó10%µÄ¸Ä½ø£¬²¢·¢²¼ÁË¡°ÄäÃû»¯¡±µÄѵÁ·Êý¾Ý¼¯£¬Êý¾Ý¼¯Öаüº¬50Íò¶©ÔÄÓû§µÄӰƬä¯ÀÀÀúÊ·£¬ÒÔ±ã²Î¼Ó¾ºÈüµÄ¿ª·¢ÕßÃÇÄܹ»Ê¹ÓÃÕâЩÊý¾Ý¡£´ËÊý¾Ý¼¯º¬ÓÐNetflix¶©ÔÄÓû§Òѹۿ´Ó°Æ¬µÄÊÕÊÓÂÊ£¬²¢É¾³ýÁËËùÓиöÈËÉí·ÝÐÅÏ¢¡£
Á½Î»Ñо¿ÈËÔ±£¬À´×ÔAustin Texas´óѧµÄArvind Narayanan²©Ê¿ºÍVitaly Shmatikov²©Ê¿£¬½«NetflixµÄÊý¾Ý¼¯Ó뻥ÁªÍøµçÓ°×ÊÁÏ¿â(IMDB)µÄreviewÊý¾Ý¿âÁ¬½ÓÔÚÒ»Æð£¬ÊµÏÖÁËÒ»¸öеġ°·´ÄäÃû»¯Ëã·¨¡±¡£ËûÃÇ·¢±íÁËÑо¿ÂÛÎÄ£¬²ûÊöÁË¿ÉÒÔ´ÓÊýѧÉϱæ±ð³öNetflix·¢²¼µÄÊý¾Ý¼¯Öд󲿷ÖÓû§µÄÉí·Ý¡£»ùÓÚÓû§ÔÚIMDBÖнöÉÙÊý¼¸²¿Ó°Æ¬µÄÊÕÊÓÂÊ£¬Ñо¿ÈËԱչʾÁËËûÃǵÄËã·¨Äܹ»Ê¶±ð³öNetflixÊý¾Ý¼¯ÖÐÏàͬµÄ¸öÌ壬²¢»ñÈ¡ÁËNetflix¶©ÔÄÓû§ÔÚ2005ÄêÒÔǰÍêÕûµÄӰƬä¯ÀÀÀúÊ·£¬µ¼ÖÂÁËÓë¶©ÔÄÓû§×Ú½ÌÐÅÑö¡¢ÐÔÈ¡ÏòºÍÕþÖÎÇãÏòÏà¹ØµÄDZÔÚµÄÒþ˽й¶¡£Æä½á¹ûÊÇ£¬Ò»Î»Netflix¶©ÔÄÓû§ÆðËßÁËNetflix£¬Éù³ÆÆä·¢²¼Êý¾ÝµÄÐÐΪΥ·´ÁË¡¶ÊÓÆµ±£»¤Òþ˽Ȩ·¨°¸(VPPA)¡·£¬²¢¡°±©Â¶¡±ÁËËýÊÇŮͬÐÔÁµ¡£NetflixÓÚ2010Ä껨·Ñ900ÍòÃÀԪƽϢÁËÕⳡËßËÏ¡£
Óë´Ëͬʱ£¬AOL·¢²¼ÁËÒ»¸ö¡°ÄäÃû»¯¡±µÄËÑË÷ÒýÇæÈÕÖ¾Êý¾Ý¼¯£¬ÓÃÓÚÑо¿Ä¿µÄ£¬¶øÅ¦Ô¼Ê±±¨µÄһλ¼ÇÕß½»²æÒýÓøÃÊý¾Ý¼¯ºÍͨÐżÁÐ±í£¬Äܹ»Ê¶±ð³öÓû§µÄÉí·Ý¡£ÕⱩ¶ÁËAOLÓû§Èý¸öÔÂÄÚµÄËÑË÷ÀúÊ·¡ª¡ªÆäÖÐһЩÊǷdz£ÁîÈËÞÏÞεġ£Æä½á¹ûÊÇAOLµÄÊ×ϯ¼¼Êõ¹Ù(CTO)´ÇÖ°¡¢Á½ÃûAOLÔ±¹¤±»½â¹ÍÒÔ¼°Ò»³¡Õë¶Ô¹«Ë¾µÄ¼¯ÌåËßËÏ¡£
»¹Óв»Ê¤Ã¶¾ÙµÄÆäËûÀý×Ó¡ª¡ªMITµÄһλÑо¿ÈËÔ±ÔÚ½«Ò»¸ö¡°ÄäÃû»¯¡±µÄÖݱ£ÏÕÊý¾Ý¿âÓ빫¿ª¿ÉÓõÄÖÝÑ¡¾Ù×¢²á¼Ç¼һÆð·ÖÎöʱ£¬·¢ÏÖÄܹ»´Ó¸ÃÊý¾Ý¼¯ÖÐʶ±ð³öÆäÖݳ¤µÄÒ½ÁƼǼ¡£
ÕâЩÀý×ÓÑÝʾÁËÊÖÍ·µÄÎÊÌ⣬ÒÔ¼°Ò»ÆðʹÓÃÊý¾Ý¼¯ÖеÄÐÅÏ¢»áÈçºÎDZÔÚµØÎ¥·´Òþ˽·¨ÂÉ¡¢¹æÕ£¬²¢Èƹý¶ÔÓû§µÄ·ÃÎÊ¿ØÖÆ¡£Í¨¹ýʹÓÃÕâЩÏàͬµÄ·½·¨£¬ÄãµÄÄÚ²¿HadoopÓû§Ò²ÐíÄܹ»Èƹý°²È«ÏÞÖÆ£¬Èç¹ûûÓÐÉèÖÃÊʵ±µÄ¿ØÖƵϰ¡£
12.2.3 ¼ÓÃܾ²Ö¹µÄÊý¾Ý
ÓÉÓÚÕë¶Ô±£´æÔÚ´ÅÅÌÉϺÍÖÕ¶ËÓû§É豸ÉÏÐÅÏ¢µÄ±£ÃÜÐÔ´æÔںܶàÍþв£¬Òò´ËÐí¶àÓÐÃô¸ÐÐÅÏ¢µÄ×éÖ¯¶¼ÓÐÒªÇó¼ÓÃܾ²Ö¹Êý¾ÝµÄ²ßÂÔ¡£´ËÖÖ²ßÂԵĶàÊýÔÒòÓë¶ñÒâÈí¼þµÄÍþв¡¢Êý¾ÝµÄÃô¸ÐÐÔ»ò±£ÃÜÐÔ¡¢»òÕß·¨ÂɹæÕÂÏà¹Ø¡£ÀýÈ磬HIPPA¾ßÓÐÓë¼ÓÃܵç×Ó±£»¤µÄ½¡¿µÐÅÏ¢(EPHI)Öо²Ö¹Êý¾ÝÏà¹ØµÄÖ¸µ¼Òâ¼û£¬²¢ÇÒÆäËû±£»¤¸öÈË¿Éʶ±ðÐÅÏ¢(PII)µÄ·¨ÂÉÒ²ÔÚ·¢»Ó×÷Óá£
һЩ×éÖ¯ÕýÔÚÍÆ¶¯¼ÓÃÜHDFSÉϵľ²Ö¹Êý¾Ý£¬Hadoop²¢²»ÔÉúµØÌṩ¸Ã¹¦ÄÜ¡£È»¶ø£¬¿ÉÒÔ½«µÚÈý·½¿âºÍÆäËû²úÆ·ÓëHadoopÒ»ÆðʹÓÃÀ´Âú×ãÕâЩÐèÇ󣬶øÇÒRhinoÏîÄ¿(ÈçµÚ10ÕÂÖеÄÌÖÂÛ)Ò²ÕýÔÚÖÂÁ¦ÓÚ½â¾öHadoopÖеÄÕâ¸öÎÊÌâ¡£
12.2.4 ÆóÒµ¼¶°²È«¼¯³É
´ó¶àÊý¹«Ë¾ÔÚÆóÒµÄÚ²¿¶¼Óи÷ʽ¸÷ÑùµÄ°²È«»ù´¡ÉèÊ©£¬°üÀ¨ÓÃÓÚÈÏÖ¤µÄ¹«Ô¿»ù´¡ÉèÊ©(PKI)×é¼þ¡¢»î¶¯Ä¿Â¼ÊµÀý¡¢°²È«ÁîÅÆ·þÎñ¡¢ÊôÐÔ·þÎñºÍÓÃÓÚÈÏÖ¤Óû§µÄ²ßÂÔ·þÎñÆ÷£¬ÌṩÊÚȨƾ¾Ý£¬²¢×ö³öºÍʵʩ·ÃÎÊ¿ØÖƾö²ß¡£HadoopµÄÔÉú°²È«»úÖÆ²¢²»×ÜÄÜÈÃÄãÓë¸÷¸ö×éÖ¯µÄ°²È«»ù´¡ÉèÊ©¡°ÊÊÅ䡱»ò¼¯³É¡£µ±°²È«ÐèÇóÖ¸¶¨Òª½«ÆóÒµ¼¶Ó¦ÓÃÓë×éÖ¯µÄ°²È«»ù´¡ÉèÊ©¼¯³Éʱ£¬°²È«¼Ü¹¹Ê¦µÄ¹¤×÷¾ÍÊÇÉè¼ÆÒ»¸ö½â¾ö·½°¸£¬Äܹ»ÔÚʹÓÃHadoopµÄͬʱ£¬Ê¹ÓÃÆäËû¹¤¾ßÓ밲ȫ»ù´¡ÉèÊ©Ï༯³É¡£
12.3 ±£Ö¤Ê¹ÓÃHadoopµÄÆóÒµ¼¶Ó¦Óð²È«µÄ·½·¨
½üÀ´£¬´óÁ¿µÄÏîÄ¿¡¢Hadoop²å¼þºÍרÃŵÄHadoop·¢ÐаæÒѾ³ÐŵÁËÒªÔöÇ¿HadoopµÄ°²È«ÐÔ¡£HortonworksµÄKnox
Gateway¡¢IntelµÄ°²È«ÔöÇ¿ÐÍHadoop·¢ÐаæºÍÖîÈçRhinoµÈ¿ªÔ´ÏîÄ¿ÒѾ·¢²¼£¬²¢ÊµÏÖÁ˰ïÖúÆóÒµ¼¶Ó¦Óÿª·¢ÕßÂú×㰲ȫÐèÇóµÄ³Ðŵ¡£ÎÞÂÛÈçºÎ£¬ÖØÒªµÄÊÇÒª¼Çסÿ¸öÆóÒµ¼¶Ó¦Óö¼ÊDz»Í¬µÄ£¬¶øÇÒÿ¸ö²¿ÊðÖеݲȫÐèÇóÒ²½«ÊDz»Í¬µÄ¡£
ÔÚÌÖÂÛϸ½Ú֮ǰ£¬ÖØÒªµÄÊÇÒªÀí½âһЩһ°ãµÄ»ù´¡ÖªÊ¶ºÍÖ¸ÄÏ£¬ÓÃÓÚΪʹÓÃHadoopµÄÆóÒµ¼¶Ó¦ÓÃÌṩ°²È«±£Ö¤¡£µ±´óÁ¿µÄÏîÄ¿¶¼Ö»¹Ø×¢ÓÚÌØ¶¨µÄ°²È«»úÖÆ£¬¶ø²»ÊÇ×ñ´ÓijЩÊÊÓÃÓÚÈκÎÏîÄ¿µÄ¡¢³£Ê¶ÐÔµÄÖ¸µ¼·½Õëʱ£¬ËüÃÇÔÚÔËÐйý³ÌÖж¼»á³öÏÖÎÊÌâ¡£
»ùÓÚ¿Í»§µÄÈÎÎñºÍÐèÇó£¬Ã¿¸öÏîÄ¿µÄÆóÒµ°²È«²ßÂÔ¶¼¿ÉÄܲ»Í¬£¬µ«È´¶¼×ñ´ÓÕâЩ³£Ê¶¹æÔò£º
1.È·¶¨°²È«ÐèÇ󡪡ªÀí½â°²È«ÐèÇóºÜ¹Ø¼ü¡£¶ÔÓÚÈÏÖ¤¡¢·ÃÎÊ¿ØÖÆ¡¢É󼯡¢¼ÓÃÜ¡¢ÍêÕûÐÔºÍÒþ˽µÄÐèÇó½«ÓÉ×éÖ¯×ÔÉíÀ´¾ö¶¨¡£ÐèÒªÎʵÄһЩÎÊÌâ¿ÉÄÜ»áÎ§ÈÆ×ÅHadoop
MapReduce×÷Òµ½á¹ûÊý¾Ý¼¯µÄ°²È«ÐÔ£¬ÒÔ¼°HadoopÔËÐÐʱ×ÔÉíµÄ°²È«ÐÔ(Ϊ½øÐвéѯºÍÔËÐÐ×÷ÒµµÄÓ¦ÓóÌÐò/Óû§Ìṩ·ÃÎÊ¿ØÖÆ)¡£ÓëÊʵ±µÄ¾ö²ßÖÆ¶¨Õß»áÎîÀ´Àí½âÄÄЩÊÇÐèÒªµÄ£¬ÒÔ±ã¿ÉÒÔ×öÏàÓ¦µÄ×¼±¸¡£
2.´ÓÒ»¿ªÊ¼¾ÍÉè¼Æ°²È«ÐÔ¡ª¡ªÕâЩÀàÐÍÏîÄ¿×î´óµÄÎÊÌâÖ®Ò»¾ÍÊǵ½×îºó²Å³¢ÊԸĽø°²È«ÐÔ£¬ÕâÑùµÄʵ¼ùµ¼ÖÂÁ˶ÌÔÝÇÒ´àÈõµÄ¼Ü¹¹£¬Í¨³£»á×¢¶¨ÏîÄ¿µÄʧ°Ü¡£Èç¹ûÏîÄ¿ÖÐÓб¾ÕÂËùÌÖÂ۵ݲȫÐèÇ󣬵«È´ÈÏΪ¿ÉÒÔÖ»¹Ø×¢Êý¾Ý·ÖÎö¶øºóÐøÔÙ³¢ÊÔ¿¼ÂDZ£Ö¤½â¾ö·½°¸°²È«ÐԵϰ£¬ÄÇô»áÓм«´óµÄʧ°Ü·çÏÕ¡£Ó¦¸Ã¹Ø×¢ÓÚ¿ª·¢¿ÉÒÔÓëÓйص±¾Ö½øÐÐÌÖÂ۵ijõʼ×ÜÌ尲ȫ¼Ü¹¹£¬ÒÔ»ñµÃ¸ÅÄîÉϵÄÈϿɡ£
3.²»ÒªÊ¹Óò»ÐèÒªµÄ°²È«ÐÔ¡ª¡ªÈç¹ûûÓÐÒª´ïµ½±¾ÕÂËùÌÖÂÛµÄijЩĿ±êµÄ°²È«ÐèÇó£¬ÄÇô¾Í²»Òª×öÈκÎÊ£¡²»ÒªÊµÏÖÄÇЩ²»ÐèÒªµÄ¶«Î÷À´Ôö¼Ó¸´ÔÓÐÔºÍÐÔÄÜ¿ªÏú¡£
4.ʹÓá°·ÀÓù×ÝÉ·½°¸¡ª¡ªÓÀÔ¶²»Òª¼ÙÉèʹÓøö±ð°²È«·½°¸»ò»úÖÆ¾ÍÄܹ»×èÖ¹»òÔ¤·À¹¥»÷»òÎ¥·´°²È«²ßÂÔ¡£·ÀÓù×ÝÉî²ßÂÔ°üº¬¶à²ã·ÀÓù¡£
5.ÀμÇÀ¶Í¼¡ª¡ªÁ˽âÊý¾ÝµÄÉúÃüÖÜÆÚ(ÈçÇ°ÃæÍ¼12-1ÖÐËùʾ)¡£Àí½âÌṩ°²È«ÐÔ¿ÉÄÜÒâζ×Å·ÃÎÊ¿ØÖÆ£¬ÒÔ¼°ÔÚÕû¸öÊý¾ÝÉúÃüÖÜÆÚ(´ÓÔʼÊý¾ÝÔ´ÖеÄÊý¾Ý£¬µ½¼ÓÔØµ½Hadoop¼¯ÈºÖеÄÊý¾Ý£¬ÔÙµ½½á¹ûÊý¾Ý¼¯)Öб£³ÖºÍʵʩ²ßÂÔ¡£
½ÓÏÂÀ´µÄ¼¸Ð¡½Ú»áÉîÈëµ½Âú×ãijЩ°²È«ÐèÇóµÄ¾ßÌåϸ½ÚÖУ¬²¢²¹³äHadoopÔÉúÌṩµÄ°²È«»úÖÆ¡£ÌÖÂÛ¹Ø×¢ÓÚÈý¸öÖ÷Òª·½°¸£¬ÔÚÓëHadoopÔÉú»úÖÆ½áºÏµÄͬʱ£¬ËüÃÇÌṩÁËÆóÒµ¼¶°²È«µÄ¹¹³É×é¼þ¡£ÔÚ½ÓÏÂÀ´µÄÕâЩС½ÚÖУ¬ÌÖÂÛ½«¾Û½¹ÓÚApache
Accumulo¡£
12.3.1 ʹÓÃAccumulo½øÐзÃÎÊ¿ØÖƱ£»¤
Apache AccumuloÊÇÒ»¸öÏ¡ÊèµÄ¡¢·Ö²¼Ê½µÄ¡¢ÓÐÐòµÄÒÔ¼°¶àά¶ÈµÄ¼ü/Öµ´æ´¢£¬Ìṩµ¥Ôª¸ñ¼¶±ðµÄϸÁ£¶È·ÃÎÊ¿ØÖÆÊôÐÔ¡£ËüÓÚ2008ÄêÓÉNSA¿ª·¢£¬»ùÓÚGoogle
BigTableµÄÉè¼Æ£¬ÓÚ2011Äê·¢²¼µ½Apache¿ªÔ´ÉçÇø£¬²¢ÇÒÏÖÔÚÊǶ¥¼¶ApacheÏîÄ¿¡£ËüÊǹ¹½¨ÔÚHadoopºÍZookeeperÖ®Éϵġ¢¸ß¶È¿ÉÀ©Õ¹µÄNoSQLÊý¾Ý¿â¡£¿ª·¢ËüµÄ²¿·ÖÔÒòÊÇΪÁ˽â¾ö´óÊý¾Ý°²È«ÎÊÌâ¡£
AccumuloÀ©Õ¹ÁËBigTableµÄÊý¾ÝÄ£ÐÍ£¬µ«Ìí¼ÓÁËÒ»¸öÔªËØ£¬ÒÔÌṩµ¥Ôª¸ñ¼¶±ðµÄ¡¢Ç¿ÖƵĻùÓÚÊôÐԵķÃÎÊ¿ØÖÆ(ABAC)¡£¿ÉÒÔʹÓÿɼûÐÔ¿ØÖÆÀ´±ê¼ÇËùÓе¼Èëµ½AccumuloÖеÄÊý¾Ý£¬µ±Êý¾Ý·ÖÎöʦ²éѯÊý¾Ýʱ£¬»ùÓÚ·ÃÎÊ¿ØÖƲßÂÔÖеĿɼûÐÔ¿ØÖÆ£¬ËûÃǽ«½öÄÜ¿´µ½ÄãÆÚÍûËûÃÇ¿´µ½µÄÄÚÈÝ¡£AccumuloµÄAPIΪÄãÌṩµÄÄÜÁ¦°üÀ¨±àдÈÏÖ¤Óû§µÄ¿Í»§¶Ë£¬ÒÔ¼°ÓëÆóÒµ¼¶ÊôÐÔ·þÎñÏ༯³É£¬²¢ÀÈ¡Óû§µÄÊÚȨƾ֤ÒÔÌṩij¸ö¼¶±ðµÄ·ÃÎÊ¿ØÖÆ¡£Accumulo»¹Ìṩ½«Óû§ºÍÊÚȨÐÅÏ¢±£´æÔÚÆä×ÔÉíÖеÄÄÜÁ¦¡£
Èçͼ12-2ÖÐËùʾ£¬AccumuloÊÇÒ»¸ö¼ü/Öµ´æ´¢£¬ËüµÄ¼üÊÇÒ»¸ö5Ôª×é¡£AccumuloÖеļüÓÉÐÐID¡¢ÁÐ×å¡¢ÁÐÏÞ¶¨·û¡¢ÁпɼûÐÔºÍʱ¼ä´Á¹¹³É¡£´Ë5¸öÔªËØµÄ¼üÓëÒ»¸öÖµÏà¹ØÁª¡£

ͼ12-2 AccumuloÊý¾ÝÄ£ÐÍ
¸Ã5Ôª×é¼üÌṩÔ×ÓÐÔ¡¢±¾µØÐÔ¡¢Î¨Ò»ÐÔ¡¢·ÃÎÊ¿ØÖƺͰ汾»¯¡£ÖØÒªµÄÊÇҪעÒâ¼üÖеÄʱ¼ä´Áά¶È°üº¬ÁË»ùÓÚ²»Í¬µÄʱ¼äºÍÈÕÆÚ£¬ÌṩÏàͬÊý¾Ý¶à¸ö°æ±¾µÄÄÜÁ¦¡£´óÌåÀ´Ëµ£¬AccumuloµÄÊý¾ÝÄ£ÐͶàÊý½èÓÃÁËBigTableÊý¾ÝÄ£ÐÍ£¬µ«Ìí¼ÓÁ˿ɼûÐÔÔªËØÀ´Ìá¹©ÃæÏòÊý¾ÝµÄ°²È«¡ª¡ªËü½«½ö·µ»ØÄÇЩÔËÐвéѯµÄÓû§/Ó¦ÓóÌÐòµÄƾ¾ÝÂú×ã¿É¼ûÐÔ±êÇ©µÄµ¥Ôª¸ñ¡£
AccumuloºÍHBaseÖÐÊý¾Ý¼¶°²È«ÐԵIJîÒì
HBaseºÍAccumuloÊÇÀàËÆµÄ¡ª¡ªËüÃǶ¼ÊÇÔÚHadoopÖ®ÉÏÔËÐÐBigTableʵÏÖµÄApacheÏîÄ¿¡£HBaseºÍAccumuloÖеݲȫÐÔÌṩÀàËÆµÄÊý¾Ý¼¶°²È«£¬µ«·½Ê½²»Í¬¡£ÈçµÚ10ÕÂÖеÄÌÖÂÛ£¬HBase¿ÉÒÔ¶ÔÊý¾ÝÌṩÒÔÖð¸ö±í»òÖð¸öÁÐΪ»ù´¡µÄ·ÃÎÊ¿ØÖÆ¡£µ±Ç°£¬Ëü»¹²»Ö§³ÖAccumulo¿ÉÒÔ×öµ½µÄµ¥Ôª¸ñ°²È«ÐÔ£¬µ«RhinoÏîÄ¿µÄIntel·¢ÐаæÕýÔÚʵʩÕâ·½ÃæµÄ¹¤×÷£¬Ê¹µÃHBase²»¾Ãºó¿ÉÄÜ»áÖ§³Ö»ùÓÚµ¥Ôª¸ñµÄ°²È«¡£
HBase¿ÉÒÔÓëHadoopµÄ°²È«Ä£ÐÍÇáÒ׵ؼ¯³É(ʹÓÃKerberos)£¬¶øÇÒ´Ë·½°¸ÓëHadoopÉú̬ϵͳµÄÆäÓಿ·ÖÒ»Ö¡£¶øÁíÒ»·½Ã棬AccumuloÊÇÒ»¸ö½ÏÐµĶ¥²ãApacheÏîÄ¿£¬°üº¬Ò»¸öÄÚ²¿·ÃÎÊ¿ØÖÆÊý¾Ý¿â£¬¶øÇÒËüʵÏÖ°²È«ÐԵķ½Ê½ÓëHadoopÉú̬ϵͳÖÐÆäËû¹¤¾ß²»Í¬¡£
HBaseºÍAccumulo¶¼ºÜÁ÷ÐС£»ùÓÚÆäµ¥Ôª¸ñ¼¶±ðµÄ·ÃÎÊ¿ØÖư²È«ÌØÐÔ£¬AccumuloÔڸ߰²È«»·¾³ÖÐÊÇ×îÁ÷Ðе쬲¢³ÐŵÌṩÓëÇ¿ÖÆ·ÃÎÊ¿ØÖÆ(MAC)ºÍ²îÒìÐÔ°²È«Ïà¹ØµÄ½â¾ö·½°¸¡£
´ó¶àÊý½ÏÊìϤ¹ØÏµÐÍÊý¾Ý¿âµÄ¿ª·¢Õßͨ³£Ï°¹ßÓÚ¿´µ½ÀàËÆÓÚ±í12-1µÄ±í£¬ËüÊÇÒ»¸ö¶þάµÄÄ£ÐÍ¡£
±í12-1 ¹ØÏµÊý¾ÝÄ£ÐÍÖеÄʾÀýÊý¾Ý

ÔÚAccumuloµÄ½á¹¹ÖУ¬ÏàͬµÄÊý¾Ý¿´ÉÏÈ¥»áÀàËÆÓÚ±í12-2£¬ÆäÖÐʹÓÃÁ˽ÏϸµÄÁ£¶ÈÀ´±£´æÊý¾Ý£¬°üÀ¨¿É¼ûÐÔºÍÄܹ»¸ú×ÙÊý¾ÝËæÊ±¼ä±ä»¯µÄʱ¼ä´Á¡£
±í12-2 AccumuloÊý¾ÝÄ£ÐÍÖеÄÊý¾Ý

×¢ÒâÔÚ±í12-2ÖУ¬¿É¼ûÐÔ±»±ê¼ÇÁ˰²È«±êÇ©¡£¿ÉÒÔʹÓÃÓë/»ò²¼¶ûÂß¼½«ÕâЩ±êÇ©Ìí¼Óµ½¼Ç¼ÖС£ÀýÈ磬¿ÉÒÔ¸ø³öÀàËÆÓÚ±í12-3µÄÊÚȨ²ßÂÔ£¬ÆäÖпÉÒÔ´´½¨ÊÚȨƾ¾Ý²¢ÓëÓû§¹ØÁª£¬½«·ÃÎÊÏÞ¶¨Îª±íÖеÄÿ¸öµ¥Ôª¸ñ¡£
±í12-3 °²È«²ßÂÔʾÀý¼°Æä°²È«±êÇ©Óï·¨

ÔÚAccumuloµÄ°²È«Ä£ÐÍÖУ¬Óû§Ïò¿ÉÐŵĿͻ§¶Ë(×÷Ϊ¿ª·¢ÈËÔ±£¬¿ÉÒÔ±àдÕâÑùµÄ¿Í»§¶Ë)½øÐÐÈÏÖ¤£¬¶ø¿Í»§¶ËÒª¸ºÔðÈÏÖ¤Óû§²¢ÏòAccumulo´«µÝÊʵ±µÄÊÚȨƾ¾Ý¡£ÄãµÄ¿ÉÑ¡·½°¸ÎªÓë×Ô¼ºµÄÈÏÖ¤ºÍÊÚȨϵͳÏ༯³É£¬»òÕßʹÓÃAccumuloµÄÄÚ²¿ÈÏÖ¤/ÊÚȨ×é¼þ¡ª¡ª¿ÉÒÔÔÚÆäÖб£´æÓû§ºÍËûÃǵÄÊÚȨƾ¾Ý¡£±¾Ð¡½ÚΪÿÖÖ·½°¸¶¼ÌṩÁËÒ»¸öʾÀý¡£
Ò»¸ö¼òµ¥µÄʾÀý
ÈÃÎÒÃÇ¿¼ÂÇÒ»¸ö´óѧÊý¾Ý¿âµÄʾÀý£¬ÆäÖÐij´óѧ´Ó¸÷¸ö²¿ÃźÍÏÂÊô×éÖ¯ÊÕ¼¯Á˹ØÓÚÆäѧÉúµÄÊý¾Ý¡£ÔÚ´ËʾÀýÖУ¬ÓÐÀ´×ÔУ԰ҽÁÆÖÐÐÄ¡¢²ÆÕþÖÐÐÄ¡¢´óѧ¹ÜÀí´¦¡¢ÌåÓýÉèÊ©ºÍУ԰¾¯²ìµÄÊý¾Ý¡£ÄãÊÕ¼¯Á˸÷ÖÖ¸÷ÑùµÄÐÅÏ¢£¬¶øÇÒÕû¸ö×éÖ¯¿ÉÒÔ²éѯÕâЩÐÅÏ¢¡£ÄãµÄÐèÇóÊDZ£»¤Ä³Ð©ÐÅÏ¢£¬ÀýÈçÈçÏÂËùÊö£º
1.ѧÉúÒ½ÁƼì²é¼Ç¼Ӧ¸ÃÖ»¶ÔÒ½»¤ÈËÔ±ºÍ´óѧ¹ÜÀí´¦¿É¼û¡£
2.ÌᄊѧԺѧÉúÌåÓýÏà¹ØµÄ¼Ç¼Ӧ¸ÃÖ»¶ÔËûÃǵĽÌÁ·¿É¼û£¬ÓÐʱҲ¿É¶ÔÒ½»¤ÈËÔ±¿É¼û¡£
3.¹ºÂò¼Ç¼¡¢ÆÀ·ÖÒÔ¼°ÖîÈçÉç»á°²È«ºÅÂëµÈÃô¸ÐÐÅÏ¢Ó¦¸ÃÖ»¶Ô´óѧ¹ÜÀí´¦¿É¼û¡£
4.ѧÉúÔÚУ԰¾¯²ì´¦µÄ¼Ç¼Ӧ¸ÃÖ»¶ÔУ԰¾¯²ì»òÕß´óѧ¹ÜÀí´¦¿É¼û¡£
¶ÔÓÚ±¾Àý£¬ÈÃÎÒÃǽ«Ò»Ð©ÑùÀýÊý¾Ý¼ÓÔØµ½AccumuloÊý¾Ý¿âÖУ¬Èç±í12-4Ëùʾ¡£ÔÚÕâ¸ö¼òµ¥µÄÀý×ÓÖУ¬ÓÐһλÃû½ÐKirk
RestµÄѧÉú£¬ÄãÓйØÓÚËûµÄ¸÷ÖÖÐÅÏ¢£¬ÕâЩÐÅÏ¢¾ùÊÇ´Ó´óѧÖеĴóÁ¿Êý¾ÝÔ´ÊÕ¼¯¶øÀ´µÄ¡£
±í12-4 ´óѧÊý¾ÝʾÀýÖеļü/Öµ


¼Ù¶¨½«´ËÐÅÏ¢¼ÓÔØµ½ÒѾ°²×°ÔÚ²âÊÔHadoopʵÀýÉϵÄAccumulo´æ´¢ÖС£Îª´Ë£¬Ó¦¸ÃʹÓÃAccumulo
shell£¬ËüÊÇÒ»¸ö¼òµ¥µÄ¿Í»§¶Ë£¬¿ÉÒÔÓÃÓÚ´´½¨ºÍÐÞ¸Ä±í£¬ÒÔ¼°´´½¨Óû§²¢ÎªÕâЩÓû§·ÖÅäÊÚȨƾ¾Ý¡£ÓÉÓÚ±¾Õ¹Ø×¢µÄÊǰ²È«£¬¶ø·ÇAccumuloµÄ¸ü¶àϸ½Ú£¬Òò´ËÕâÀï²»ÌÖÂÛ¼ÓÔØÊý¾ÝµÄÏêÇé¡£
×¢Ò⣺
ÓÉÓÚ²»Í¬°æ±¾µÄAccumuloÐèÒªÓ벻ͬ°æ±¾µÄHadoopºÍZookeeperÒ»Æð¹¤×÷£¬Òò´ËÕâÓÐʱÊǶ԰²×°µÄÒ»¸öÌôÕ½£¡ÉÏÊÖAccumuloµÄÒ»ÖÖ¼òµ¥·½·¨ÊÇʹÓÃÒѾÅäÖúõÄÐéÄâ»ú(VM)¡£Sqrrl¹«Ë¾µÄÍøÕ¾ÉÏÌṩһ¸ö¶ÀÁ¢µÄÑÇÂíÑ·»úÆ÷ʵÀý(AMI)£¬ÓÃÓÚApache
AccumuloµÄ¿ìËÙÈëÃÅ£¬²¢ÇҸù«Ë¾»¹Ìṩһ¸öÔÚOracle VirtualBoxÉÏÔ¤ÏÈÅäÖúõÄVM¡£¸ü¶àÏêÇéÇë²Î¼ûλÓÚhttp://www.sqrrl.com/µÄÍøÕ¾£¬ÒÔ¼°Î»ÓÚhttp://blog.sqrrl.com/post/40578606670/
quick-accumulo-install/µÄVM¡£
AccumuloÕë¶Ô¿ìËÙ»ñÈ¡¼ü¶ÔÓ¦µÄÖµ×öÁËÓÅ»¯¡£Îª´Ë£¬¿ª·¢µÄAccumulo¿Í»§¶Ë(ÔÚÕâÖÖÇé¿öÏ£¬¿Í»§¶Ë¾ÍÊÇAccumulo
shell)Òª´´½¨Ò»¸ö¶ÔÖµ½øÐеü´úµÄɨÃèÆ÷¡£ÕýÈçÔÚ´úÂëÇåµ¥12-1ÖÐËù¿´µ½µÄÄÇÑù£¬scanÃüÁîÔÊÐíÄãÔÚ´´½¨µÄÐÂ±í¡ª¡ªuniversitydata¡ª¡ªÖжÔÖµ½øÐеü´ú(ÒÔrootÉí·ÝÔËÐУ¬¶øroot¶Ô±íÖеÄËùÓÐÄÚÈݾùÓзÃÎÊȨÏÞ)¡£
´úÂëÇåµ¥12-1£º²é¿´Êý¾Ý
<span style="font-family:Microsoft YaHei;font-size:14px;">root@accumulo universitydata> scan Kirk Rest Address:111Carson Ave, Richmond VA [ADMIN] Kirk RestGrade:Calculus 1 [ADMIN] B Kirk RestGrade:Organic Chem [ADMIN] A Kirk RestGrade:Radical Presbyterianism [ADMIN] D Kirk Rest MedicalTest Report:Cholesterol [MEDICAL] 200 Kirk Rest NedicalTest Report:Biopsy [MEDICAL] Negative Kirk RestPayment:Semester Payment [ADMIN] 1000 Kirk RestPhone:8045550005 [ADMIN] Kirk Rest PoliceCharge:Curfew Violation [ADMIN|POLICE] Pending Hearing Kirk Rest PoliceCharge:DUI Arrest [ADMIN|POLICE] Guilty Kirk Rest RunningTest:10K [COACH] 56 Kirk Rest RunningTest:5K [COACH] 27 Kirk RestSSN:99999999 [ADMIN] Kirk Rest Weight:170 [MEDICAL|COACH]</span> |
ΪÑÝʾµ¥Ôª¸ñ¿É¼ûÐÔµÄʾÀý£¬ÐèÒª´´½¨ÏÂÁÐÓû§£º
1.Ò½Éú(drhouse)£¬ÎªÆä·ÖÅäMEDICAL½ÇÉ«
2.¹ÜÀíÔ±(denyseAccountant)£¬ÎªÆä·ÖÅäADMIN½ÇÉ«
3.½ÌÁ·(coachTark)£¬ÎªÆä·ÖÅäCOACH½ÇÉ«
4.¾¯²ì¾Ö³¤(chiefDoug)£¬ÎªÆä·ÖÅäPOLICE½ÇÉ«
Èç´úÂëÇåµ¥12-2Ëùʾ£¬Ê¹ÓÃshellÀ´ÎªËùÓÐÕâЩÄܹ»¶ÁÈ¡±íµÄÓû§·ÖÅä·ÃÎÊȨÏÞ(ÊÚÓèËûÃÇÿ¸öÈËTable.READȨÏÞ)£¬²¢Ê¹ÓÃsetauthsÃüÁîΪËûÃÇ·ÖÅäÓÃÓڿɼûÐÔµÄÊʵ±½ÇÉ«¡£
´úÂëÇåµ¥12-2£º·ÖÅä·ÃÎÊȨÏÞºÍÓû§ÊÓͼ
<span style="font-family:Microsoft YaHei;font-size:14px;">root@accumulo universitydata>
grantTable.READ -t universitydata -u drhouse root@accumulouniversitydata> setauths -s MEDICAL -user drhouse root@accumulouniversitydata> grant Table.READ -t universitydata -u denyseAccountant root@accumulouniversitydata> setauths -s ADMIN -user denyseAccountant root@accumulo universitydata> grant Table.READ -t universitydata -ucoachTark root@accumulouniversitydata> setauths -s COACH -user coachTark root@accumulo universitydata> grant Table.READ -t universitydata -uchiefDoug root@accumulo universitydata>setauths -s POLICE -user chiefDoug</span> |
×îºó£¬ÎªÕ¹Ê¾AccumuloÏÖÔÚ½«±£»¤¶Ô±íµÄ·ÃÎÊ£¬ÒÔÿ¸öÓû§µÄÉí·ÝµÇ¼²¢Ê¹ÓÃAccumulo shell¡£¶Ôuniversitydata±í½øÐÐɨÃè(»òµü´ú)¡£´úÂëÇåµ¥12-3չʾÁËÈçºÎÒÔÓû§coachTark¡¢drHouse¡¢denyseAccountantºÍchiefDougµÄÉí·ÝµÇ¼£¬²¢¶Ô±í½øÐеü´ú£¬¶øÇÒ±í»ùÓÚÿ¸öÓû§µÄȨÏÞÌṩÁË·ÃÎÊ¿ØÖÆ¡£
´úÂëÇåµ¥12-3£ºÑÝʾÓû§µÄ½ÇÉ«ºÍ¿É¼ûÐÔ
<span style="font-family:Microsoft YaHei;font-size:14px;">root@accumulo universitydata> user coachTark Enter password foruser coachTark: ********* coachTark@accumulouniversitydata> scan Kirk Rest RunningTest:10K [COACH] 56 Kirk Rest RunningTest:5K [COACH] 27 Kirk Rest Weight:170[MEDICAL|COACH] root@accumulouniversitydata> user drhouse Enter password foruser drhouse: ******* drhouse@accumulouniversitydata> scan Kirk Rest MedicalTest Report:Cholesterol [MEDICAL] 200 Kirk Rest NedicalTest Report:Biopsy [MEDICAL] Negative Kirk Rest Weight:170[MEDICAL|COACH] drhouse@accumulouniversitydata> user denyseAccountant Enter password foruser denyseAccountant: ****** denyseAccountant@accumulouniversitydata> scan Kirk Rest Address:111Carson [ADMIN] Kirk RestGrade:Calculus 1 [ADMIN] B Kirk Rest Grade:OrganicChem [ADMIN] A Kirk RestGrade:Radical Presbyterianism [ADMIN] D Kirk RestPayment:Semester Payment [ADMIN] 1000 Kirk RestPhone:8045550005 [ADMIN] Kirk Rest PoliceCharge:Curfew Violation [ADMIN|POLICE] Pending Hearing Kirk Rest PoliceCharge:DUI Arrest [ADMIN|POLICE] Guilty Kirk RestSSN:999999999 [ADMIN] denyseAccountant@accumulouniversitydata> user chiefDoug Enter password foruser chiefDoug: ********* chiefDoug@accumulouniversitydata> scan Kirk Rest PoliceCharge:Curfew Violation [ADMIN|POLICE] Pending Hearing Kirk Rest Police Charge:DUI Arrest[ADMIN|POLICE] Guilty</span> |
ÕýÈç´Ó´úÂëÇåµ¥12-3Öп´µ½µÄÄÇÑù£¬AccumuloÄܹ»»ùÓÚÿ¸öÓû§µÄÊÚȨ¿ØÖÆÀ´ÏÞÖÆ·ÃÎÊ£¬ÄãÒѾͨ¹ýʹÓÃAccumuloshellÑÝʾÁËÕâÒ»µã¡£ÏÖÔÚ£¬ÈÃÎÒÃÇÓÃJava¹¹½¨Ò»¸öAccumulo¿Í»§¶Ë£¬¸Ã¿Í»§¶Ë½«Îª±¾ÀýÑÝʾÏàͬ¼¶±ðµÄ·ÃÎÊ¿ØÖÆ£¬²¢ÓëÆóÒµÖеÄÉí·ÝºÍ·ÃÎʹÜÀí»ù´¡ÉèÊ©Ï༯³É¡£
µ±Éæ¼°ÓëÆóÒµ»ù´¡ÉèÊ©¼¯³Éʱ£¬AccumuloÓÐÒ»¸öÁé»îµÄÄ£ÐÍ¡£ÈçÇ°ÃæÌáµ½µÄ£¬Accumulo¿Í»§¶ËµÄÖ°ÔðÊÇÈÏÖ¤Óû§ºÍ»ñÈ¡Óû§µÄÊÚȨƾ¾Ý£¬²¢½«Æäչʾ¸øAccumuloÒÔ¹©´¦ÀíÖ®Óá£Ö»ÒªÊ¹ÓÃÆóÒµÊôÐÔ´æ´¢ÖеÄÏàͬÊôÐÔ»ò½ÇÉ«±ê¼ÇÁËAccumulo±íÖеÄÊý¾Ý¿É¼ûÐÔ£¬Ëü¾Í¿ÉÒÔÓÅÑŵع¤×÷¡£Èç¹ûûÓбê¼ÇµÄ»°£¬ÄÇôºÜ¿ÉÄÜÐèÒª¶Ô´Ó¿Í»§¶ËÊôÐÔ´æ´¢ÖлñÈ¡µÄÊôÐÔ½øÐÐһЩ´¦Àí£¬ÒÔÈ·±£ËüÃÇÊÇÍêÈ«ÏàͬµÄ½ÇÉ«¡£
ΪÁËÑÝʾÕâÒ»µã£¬ÈÃÎÒÃÇä¯ÀÀÒ»¸öÈçºÎ±àд¼òµ¥¿Í»§¶ËµÄʾÀý£¬¸Ã¿Í»§¶Ëͨ¹ý×ÔÑ¡µÄÈÏÖ¤»úÖÆÀ´ÈÏÖ¤Óû§£¬²¢´Ó×ÔÑ¡µÄÊôÐÔ·þÎñ»òLDAPĿ¼ÀÈ¡ÊÚȨƾ¾Ý¡£
´úÂëÇåµ¥12-4չʾÁËÒ»¸ö±àдÁ¬½Óµ½AccumuloµÄJavaÀàµÄʾÀý¡£ÎªÁËÁ¬½Ó£¬±ØÐëʹÓÃConnectorÀཨÁ¢Ò»¸öAccumuloÁ¬½Ó¡£Îª´Ë£¬±ØÐëÊ×ÏÈͨ¹ý³õʼ»¯ZookeeperInstanceÀ࣬Á¬½Óµ½¸ú×ÙAccumuloµÄZookeeperʵÀý£¬¶øZookeeperInstanceÀཫ»á·µ»ØÒ»¸öÁ¬½ÓÆ÷¡£
´úÂëÇåµ¥12-4£ºAccumulo¿Í»§¶Ë´úÂëʾÀý
<span style="font-family:Microsoft YaHei;font-size:14px;">import java.util.Collection; importjava.util.Collections; importjava.util.Map.Entry; import org.apache.accumulo.core.client.Connector; importorg.apache.accumulo.core.client.ZooKeeperInstance; importorg.apache.accumulo.core.client.Scanner; importorg.apache.accumulo.core.data.Key; importorg.apache.accumulo.core.data.Range; importorg.apache.accumulo.core.data.Value; importorg.apache.accumulo.core.security.Authorizations; public classQueryExample { public static void main(String[] args)throws Exception { //Simple Example of the name of youraccumulo instance & zookeeper ZooKeeperInstanceinst = new ZooKeeperInstance("accumulo", "localhost"); //Obviously this is just an example Connector connector =inst.getConnector("root", "secret"); //Scan in the username and password forthis simple example java.util.Scanner in = newjava.util.Scanner(System.in); System.out.println("Username:"); String username = in.nextLine(); System.out.println("Password:"); String password = in.nextLine(); Authorizations auths = null; try { //An example of how you can interactwith other systems (LDAP,etc) CustomAuthenticator authenticator = newCustomAuthenticator(); authenticator.authenticate(username,password); //Retrieve credentials from externalsystem auths =authenticator.getAuthorizationInfo(username); } catch (ExceptionauthenticationException) { System.out.println("AuthenticationFailure."); System.exit(-1); } // Search our university data example& print out everything Scanner scanner =connector.createScanner("universitydata", auths); for (Entry<Key,Value> entry :scanner) { System.out.println( entry.getKey().toString()); } } }</span> |
Ò»µ©½¨Á¢ÁËÁ¬½Ó£¬¾ÍÒªÈÏÖ¤Óû§¡£ÔÚÕâÖÖÇé¿öÏ£¬¶ÔÓÚÕâÑùÒ»¸ö¼òµ¥µÄʾÀý£¬´ÓÃüÁîÐÐץȡÓû§ÐÅÏ¢£¬²¢½«Æä´«µÝ¸øÒ»¸ö½Ð×öCustomAuthenticatorµÄÍⲿÀ࣬±àд´ËÀà½öÊÇΪÁËչʾ¿ÉÒÔʹÓÃAccumuloÖ®ÍâµÄÁíÒ»ÖÖÈÏÖ¤ºÍÊÚȨ»úÖÆ¡£ÔÚ¸ÃÀàÖУ¬½«´ÓÃüÁîÐÐÖÐɨÃèµ½µÄÓû§ÃûºÍÃÜÂë´«Èë¸ÃÀàµÄauthenticate()·½·¨¡£Èç¹ûÓû§ÈÏÖ¤³É¹¦£¬ÄÇô½Ó×Å´ÓÍⲿ´æ´¢ÀÈ¡Óû§µÄÊÚȨƾ¾Ý£¬²¢·µ»ØAccumuloÆÚÍûµÄorg.apache.accumulo.core.security.
AuthorizationsÀàÖеÄÖµ¡£×îºó£¬Èç֮ǰʾÀýÖÐËùʾ£¬´´½¨Ò»¸öɨÃèÆ÷¶ÔÏàͬ±íÖеÄÖµ½øÐеü´ú£¬²¢¼òµ¥µØ´òÓ¡½á¹û¡£
´úÂëÇåµ¥12-5չʾÁËÃüÁîÐÐÖеĽá¹û¡£ÔÚ´ËʾÀýÖУ¬ÉèÖÃÁËÒ»¸öÍⲿµÄLDAPĿ¼£¬ÆäÖаüº¬Ò»¸ö½Ð×öjoeUserµÄÓû§£¬Æä½ÇɫΪADMIN¡£
´úÂëÇåµ¥12-5£ºAccumulo¿Í»§¶ËµÄ½á¹û
<span style="font-family:Microsoft YaHei;font-size:14px;">Script started on Fri 03 May 2013 12:45:09 AM EDT $ java QueryExample 13/05/03 00:45:16INFO zookeeper.ZooKeeper: Clientenvironment:zookeeper.version=3.4.3--1, built on 03/20/2012 16:15 GMT 13/05/03 00:45:16INFO zookeeper.ZooKeeper: Client environment:host.name=ubuntu 13/05/03 00:45:16INFO zookeeper.ZooKeeper: Clientenvironment:java.version=1.6.0_27 13/05/03 00:45:16INFO zookeeper.ZooKeeper: Client environment:java.vendor=SunMicrosystems Inc. 13/05/03 00:45:16INFO zookeeper.ZooKeeper: Clientenvironment:java.home=/usr/lib/jvm/java-6-openjdk-amd64/jre 13/05/03 00:45:16INFO zookeeper.ZooKeeper: Client environment:java.class.path=. 13/05/03 00:45:16 INFO zookeeper.ZooKeeper: Clientenvironment:java.library.path=/usr/lib/jvm/java-6-openjdkamd64/ jre/lib/amd64/server:/usr/lib/jvm/java-6-openjdkamd64/ jre/lib/amd64:/usr/lib/jvm/java-6-openjdkamd64/ jre/../lib/amd64:/usr/java/packages/lib/amd64:/usr/lib/x86_64-linuxgnu/ jni:/lib/x86_64-linux-gnu:/usr/lib/x86_64-linuxgnu:/ usr/lib/jni:/lib:/usr/lib 13/05/03 00:45:16 INFO zookeeper.ZooKeeper: Client environment:java.io.tmpdir=/tmp 13/05/03 00:45:16 INFO zookeeper.ZooKeeper: Client environment:java.compiler=<NA> 13/05/03 00:45:16 INFO zookeeper.ZooKeeper:Client environment:os.name=Linux 13/05/03 00:45:16 INFO zookeeper.ZooKeeper:Client environment:os.arch=amd64 13/05/03 00:45:16 INFO zookeeper.ZooKeeper: Client environment:os.version=3.2.0-29-generic 13/05/03 00:45:16 INFO zookeeper.ZooKeeper: Client environment:user.name=accumulo 13/05/03 00:45:16 INFO zookeeper.ZooKeeper: Client environment:user.home=/usr/lib/accumulo 13/05/03 00:45:16 INFO zookeeper.ZooKeeper: Client environment:user.dir=/usr/lib/accumulo/classes 13/05/03 00:45:16 INFO zookeeper.ZooKeeper:Initiating client connection, connectString=localhost sessionTimeout=30000 watcher=org.apache.accumulo.core.zookeeper .ZooSession$AccumuloWatcher@6791d8c1 13/05/03 00:45:16 INFO zookeeper.ClientCnxn: Opening socket connection to server /127.0.0.1:2181 13/05/03 00:45:16 INFOclient.ZooKeeperSaslClient: Client will not SASL-authenticate because the defaultJAAS configuration section 'Client' could not be found. If youare not using SASL, you may ignore this. On the other hand, if you expected SASL to work, please fix your JAASconfiguration. 13/05/03 00:45:16 INFO zookeeper.ClientCnxn: Socket connection established tolocalhost/127.0.0.1:2181, initiating session 13/05/03 00:45:16 INFO zookeeper.ClientCnxn: Session establishment complete on serverlocalhost/127.0.0.1:2181, sessionid = 0x13e6757677611f1, negotiated timeout = 30000 Username: joeAdmin Password: ****** Kirk Rest Address:111 Carson [ADMIN] 20050612false Kirk Rest Grade:Calculus 1 [ADMIN] 20111201false Kirk Rest Grade:Organic Chem [ADMIN] 20111201false Kirk Rest Grade:Radical Presbyterianism[ADMIN] 20100612 false Kirk Rest Payment:Semester Payment [ADMIN]20111223 false Kirk Rest Phone:804 [ADMIN] 20050612 false Kirk Rest Police Charge:Curfew Violation[ADMIN|POLICE] 20071103 false Kirk Rest Police Charge:DUI Arrest[ADMIN|POLICE] 20091104 false Kirk Rest SSN:99 [ADMIN] 20050612 false</span> |
ÔÚ´ËʾÀýÖнøÐÐÈÏÖ¤µÄÓû§¡ª¡ªjoeAdmin£¬Óë֮ǰʾÀýÖеÄÓû§²»Í¬£¬¸ÃÓû§²¢Ã»Óб£´æÔÚAccumuloÖС£ÈçÕâÀïËùʾ£¬¿ÉÒÔ±àдһ¸öJava¿Í»§¶ËÀ´ÈÏÖ¤Óû§£¬´ÓÆóÒµ´æ´¢ÀÈ¡ÊÚȨƾ¾Ý£¬²¢²éѯAccumulo¡£
»¹Óиü¶à¹ØÓÚApache AccumuloµÄÄÚÈÝ£¬±È´ËС½ÚÖÐËùº¸ÇµÄÒª¶àµÃ¶à¡£È»¶ø£¬ÖØÒªµÄÊÇÒªÒâʶµ½¶ÔÓÚΪÁËÊý¾Ý°²È«¶øÊ¹ÓÃAccumuloµÄ×éÖ¯À´Ëµ£¬Accumulo½öÊÇÆóÒµ°²È«½â¾ö·½°¸µÄÒ»¸ö·½Ãæ¡£ÆóÒµ¼¶°²È«ÐèÒª·ÀÓù×ÝÉ²¢ÇÒ±ØÐ븲¸ÇÕû¸öÊý¾ÝÉúÃüÖÜÆÚµÄ°²È«¡ª¡ª¶ø²»Êǽöµ±Êý¾ÝÔÚHadoopÖб£´æÊ±¡£
12.3.2 ¼ÓÃܾ²Ö¹Êý¾Ý
HadoopÖо²Ö¹Êý¾ÝµÄ¼ÓÃÜÊÇÐí¶à²»Í¬ÏîÄ¿(һЩ¿ªÔ´ÏîÄ¿ºÍһЩÉÌÒµÏîÄ¿)¶¼ÔÚΪ֮ŬÁ¦µÄÒ»¸öÖ÷Ìâ¡£Hadoop²¢²»ÔÉúÖ§³Ö´Ë¹¦ÄÜ¡£µ±Ç°£¬´óÁ¿¹«Ë¾ÕýÔÚʹÓò»Í¬µÄHadoop·¢ÐаæÀ´±£»¤Ãô¸ÐÊý¾Ý£¬ÕâЩ·¢Ðа治½ö±£»¤Ãô¸ÐÐÅÏ¢£¬¶øÇÒ×ñ´Ó·¨ÂÉ(ÀýÈçHIPAA)ºÍÆäËû°²È«·¨¹æ¡£Ðí¶à×éÖ¯ÏëҪʹÓþ²Ö¹Êý¾ÝµÄ¼ÓÃÜÀ´·ÀÖ¹¶ñÒâÓû§³¢ÊÔ»ñÈ¡¶ÔDataNodeµÄδÊÚȨ·ÃÎÊ¡£
µ±Ç°µÄһЩ½â¾ö·½°¸°üÀ¨Gazzang zNcrypt£¬ËüΪCloudera CDH·¢ÐаæÌṩÊý¾Ý°²È«ÐÔ¡£IntelµÄHadoop·¢ÐаæÓÚ2013Äê³õ·¢²¼£¬ÒѾÔÚʹÓÃIntel¹«Ë¾µÄXeon´¦ÀíÆ÷ʱ¶Ô¼ÓÃܾ²Ö¹Êý¾Ý½øÐÐÁËÓÅ»¯¡£¿´ÉÏȥÿÌì¶¼ÓÐеĽâ¾ö·½°¸³öÏÖ¡ª¡ªµ«µ½Ä¿Ç°ÎªÖ¹£¬ËùÓÐÕâЩ·½°¸¶¼ÊÜרÀû±£»¤£¬»òÕßÒªÇóʹÓÃij¸öÌØ¶¨µÄHadoop·¢Ðа档ÈçµÚ10ÕÂÖÐÌáµ½µÄ£¬RhinoÏîÄ¿(ÓÉIntel¹±Ï׸øApache)°üº¬ÁËһЩ¸Ä½ø£¬°üÀ¨·Ö²¼Ê½ÃÜÔ¿¹ÜÀíºÍʵÏÖ¾²Ö¹Êý¾Ý¼ÓÃܵÄÄÜÁ¦¡£Hadoop¿ª·¢ÕßÉçÇøÄ¿Ç°ÕýÔÚÕë¶Ô½«Æä¼ÓÈ뵽δÀ´µÄij¸öHadoop·¢ÐÐ°æ¶ø½øÐÐÉó²é¡£
ÎÞÂÛ½«ºÎÖÖ»úÖÆÓÃÓÚʵÏÖ¼ÓÃÜHadoopÖеľ²Ö¹Êý¾Ý£¬·Ç³£ÖØÒªµÄÒ»µãÊÇÒ²ÒªÀí½â´Ë¹¦ÄܵÄÒâÍâЧ¹û¡£Èç¹ûÐèÒªÒ»¸ö¼ÓÃܾ²Ö¹Êý¾ÝµÄ½â¾ö·½°¸£¬ÄÇôҪ¼Çס¼ÓÃܽ«»á¶ÔÐÔÄܲúÉúÓ°Ïì¡£Èç¹ûÈÏΪMapReduce×÷Òµ¿ÉÄܱÈÏÖÔÚËùÆÚÍûµÄ¸üÂý£¬ÄÇôҪÏëÏóһϼÓÃܾ²Ö¹Êý¾Ý½«»á¶ÔÐÔÄܲúÉúʲôӰÏì¡£IntelµÄHadoop·¢ÐаæÔÚʹÓÃÌØ¶¨Intel´¦ÀíÆ÷µÄ»úÆ÷É϶ԼÓÃܺͽâÃܽøÐÐÁËÓÅ»¯¡£ÕýÊÇÓÉÓÚIntelµÄ·¢ÐаæÔÚ¿ª·¢Ê±¿¼ÂÇÁË×Ô¼ºµÄÓ²¼þ¼ÓËÙÆ÷£¬Òò¶ø¶ÔÆóÒµ¼Ü¹¹Ê¦À´Ëµ£¬»¹ÓкÜÖØÒªµÄÒ»µãÊÇÒªÆÀ¹À¼ÓÃÜÓ¦ÓóÌÐòµÄ¾²Ö¹Êý¾ÝËù´øÀ´µÄ³É±¾¡ª¡ªÈç¹ûȷʵÐèÒª´Ë¹¦ÄÜ£¬ÄÇôÇëΪÐÔÄÜ×öÏàÓ¦µÄ×¼±¸¡£
ĿǰÀ´Ëµ£¬³ý·ÇÆÈÇÐÐèÒª¼ÓÃܾ²Ö¹Êý¾Ý£¬·ñÔòÔÚ´Ëʱ£¬¿ÉÄÜ»áÓÐһЩÔÒòÈÃÄãÑ¡Ôñ±ÜÃâÕâÑù×ö¡£Ê×ÏÈ£¬ÓÉÓÚ·Ö²¼Ê½Êý¾ÝºÍÃÜÔ¿¹ÜÀíµÄÌôÕ½£¬ÕâÊÇÒ»¸ö·Ç³£¸´ÔӵŦÄÜÁìÓò¡£µÚ¶þ£¬RhinoÏîÄ¿ÔÚ¸ÃÁìÓò´øÀ´µÄÌáÉý¿ÉÄܼ´½«µ½À´£¬¶øÔÚ´Ë֮ǰ£¬Äã¿ÉÄÜ»¹ÊÇ»á±»Ëø¶¨µ½Ä³¸öÌØ¶¨µÄ·¢Ðаæ»òÌṩÉÌ¡£×îºó£¬ÈçǰÎÄËùÌáµ½µÄ£¬»á´æÔÚÓë¼ÓÃܾ²Ö¹Êý¾ÝÏà¹ØµÄÐÔÄÜËðʧ¡£Èç¹ûÊý¾ÝÈç´ËÃô¸Ð£¬ÒÔÖÂÓÚÕýÔÚ̽ÌÖ¼ÓÃܾ²Ö¹Êý¾Ý¿ÉÄÜÐԵϰ£¬ÄÇôÏÂһС½Ú¿ÉÄÜÊÇÒ»¸öDZÔڵĽâ¾ö·½°¸¡£
12.3.3 ÍøÂç¸ôÀëºÍ·Ö¸ô·½°¸
ÈçÇ°ÃæÌáµ½µÄ£¬Óб£ÃܺÍÃô¸ÐÊý¾ÝµÄ×éÖ¯´«Í³ÉϽ«¸ôÀëHadoop¼¯ÈºÍøÂç×÷ΪһÖÖÂú×㰲ȫÐèÇóµÄ·½°¸¡£ÕâЩ×é֯ͨ³£»ùÓÚÓû§µÄÊÚȨ¼¶±ð¿ØÖƶԸ÷¸ö¼¯ÈºµÄ·ÃÎÊ£¬½«ÎïÀí°²È«×÷ΪһÖÖ±£»¤»úÖÆ¡£ÆäËûһЩ×éÖ¯ÔòʹÓÃÒ»ÖÖÏÞÖÆ½ÏÉٵķ½°¸£¬¼´·Ö¸ôÍøÂ磬µ«ÔÊÐí¿ÉÐŵķþÎñÆ÷ºÍ¹¤×÷Õ¾ÔÚÍøÂçÖ®¼ä½øÐÐһЩ´«Êä¡£
´ËÖÖ·½°¸ÈÔÈ»ÊǷdz£¿ÉÐеÄÑ¡ÏÕâÓÐÐí¶àÔÒò£º
1.°²È«¼¯³ÉµÄ¸´ÔÓÐÔ¡ª¡ªÈç¹û°²È«²ßÂԷdz£Ñϸñ¶øÇÒÊý¾Ý·Ç³£Ãô¸Ð£¬ÒÔÖÁÓÚ±ØÐ뽫´óÁ¿·ÇÔÉúµÄ°²È«¿ØÖƼ¯³Éµ½Hadoop¼¯ÈºÖУ¬ÄÇôÇ뿼ÂÇʹÓÃÍøÂç¸ôÀ롪¡ª½«ËüÓëÆäËûÍøÂç·Ö¸ô¿ªÀ´£¬²¢ÏÞÖÆ½öÓÐÊÚȨµÄÓû§Äܹ»·ÃÎÊ¡£Èç¹ûÕâÑù×ö£¬ÄÇôֻÐèÒª¿¼ÂÇHadoop½á¹ûÊý¾Ý¼¯µÄ¿É¼ûÐÔ£¬¶ø²»ÐèÒª¿¼ÂÇHadoopÔËÐÐʱ°²È«¡£Õ⽫×îС»¯ÕûÌå·çÏÕ£¬¶øÇÒ×îÓпÉÄܽµµÍ³É±¾¡£
2.ÐÔÄÜ¡ª¡ªÈËÃdz£Ëµ£¬¡°°²È«ÊÇÐÔÄܵĵÐÈË¡±¡£ÔÚij¸ö½â¾ö·½°¸ÖÐʵʩµÄ°²È«»úÖÆÔ½¶à£¬Ëüͨ³£¾Í»á±äµÃÔ½Âý¡£¶ÔÓÚ±£Ö¤Hadoop°²È«À´Ëµ£¬Çé¿ö¾ÍÊÇÕâÑùµÄ£¬ÓÈÆäÊÇÈç¹ûÕýÔÚ¿¼ÂÇʹÓõÚÈý·½¹¤¾ßÀ´¼ÓÃܺͽâÃÜHDFSÉϵľ²Ö¹Êý¾ÝµÄ»°¡£Ðí¶àÈ˽«»áÑ¡ÔñÍøÂç¸ôÀë·½°¸À´¼òµ¥µØ±ÜÃâÐÔÄÜËðʧ¡£
3.Êý¾ÝµÄÃô¸Ð³Ì¶È²»Í¬¡ª¡ª×éÖ¯ÖеÄijЩÊý¾Ý¿ÉÄÜÖ»ÄܶÔijЩÈËȺ¿É¼û¡£Èç¹ûÊÇÕâÖÖÇé¿ö£¬ÄÇôHadoop×÷ÒµµÄ½á¹û¼¯Ò²½«ÊÇÃô¸ÐµÄ¡£¾¡¹ÜHadoopÖеÄijЩ¹¤¾ß(ÀýÈçHBaseºÍAccumulo)¿ÉÒÔÌṩijÖÖÁм¶±ð(HBase)ºÍµ¥Ôª¸ñ¼¶±ð(Accumulo)µÄ·ÃÎʹýÂË·½Ê½£¬µ«HadoopÖÐµÄÆäËû¹¤¾ßÔò²»Ìṩ¸Ã¼¶±ðµÄ°²È«ÐÔ¡£Èç¹ûÕýÔÚÔËÐй¹½¨½á¹û¼¯µÄJavaMapReduceÓ¦ÓóÌÐò£¬¶øÇÒÕýÔÚʹÓø÷ÖÖ¸÷ÑùµÄ²»Í¬¹¤¾ß£¬ÄÇôÃ÷ÖÇÖ®¾Ù¾ÍÊÇ¿¼ÂÇ»ùÓÚÓû§µÄ¿É¼ûÐÔÀ´·Ö¸ô¼¯Èº¡£
4.²»¶ÏÑݽøµÄHadoop°²È«·¶³ë¡ª¡ª´óÁ¿µÄHadoopвúÆ·¡¢·¢²¼°æ±¾ºÍ·¢ÐаæÕýÔÚÌṩÐµİ²È«ÌØÐÔ¡£ÈçµÚ10ÕÂÖÐÌáµ½µÄ£¬Hadoop°²È«ÐÔÔöÇ¿¿ÉÄܼ´½«ÔÚδÀ´Ò»ÄêÖе½À´¡£ÕâЩ¼´½«µ½À´µÄ±ä»¯½«»áÓ°ÏìʹÓÃHadoopµÄÆóÒµ¼¶Ó¦ÓóÌÐò£¬¶øÔÚÁ˽âÕâЩ±ä»¯²úÉúµÄÓ°Ïì֮ǰ£¬ºÜ¶à×éÖ¯ÕýÔÚÑ¡ÔñÍøÂç¸ôÀëÄ£ÐÍ¡£
5.¼¯³É֮ǰµÄÊý¾Ý°²È«ÉóºË¡ª¡ªÓÉÓÚÍøÂç¸ôÀë·½°¸²»Ö§³ÖÆäËûÍøÂçÖÐµÄÆóÒµ¼¶Ó¦ÓóÌÐò¶ÔÊý¾ÝµÄʵʱ·ÃÎÊ£¬Òò´ËËüÔÊÐíÔÚÆóÒµ¼¶Ó¦ÓóÌÐòʹÓÃÊý¾Ý²ÄÁÏ֮ǰ£¬¶ÔÆä½øÐÐÉóºËºÍ¹ýÂË£¬ÒÔ×îС»¯Ç±Ôڵı£ÃÜÐÔ·çÏÕºÍÒþ˽й¶(Õ⵱ȻÊÇÒ»±ú¡°Ë«Èн£¡±£¬ÒòÎªÍøÂç¸ôÀëͨ³£ÊÇʵʱHadoopµÄÒ»¸ö×è°£¬¶øÇÒÐèÒªÒ»¸ö·¢²¼¹©ÆóÒµ¼¶Ó¦ÓóÌÐòʹÓõÄÊý¾Ý¼¯µÄ´¦Àí¹ý³Ì)¡£
ÍøÂç¸ôÀëÄܹ»ÒԺܶ෽ʽʵÏÖÆóÒµ¼¶Ó¦ÓóÌÐò°²È«¡£Í¼12-3չʾÁËÒ»ÖÖ×öµ½ÕâÒ»µãµÄ·½·¨¡£Ä³¸ö×éÖ¯´´½¨ÁË¡°Êý¾Ý·ÖÎö¡±ÍøÂ磬ʹÓÃÎïÀíµÄ¡°ÆøÏ¶¡±½«Æä´Ó×éÖ¯µÄÆóÒµÍøÂçÖзÖÀ룬ÒÔ×èÖ¹ÔÚÁ½¸öÍøÂçÖ®¼ä´«ÊäÈκÎÊý¾Ý¡£¾ßÓÐÊʵ±·ÃÎÊ¿ØÖÆÈ¨ÏÞµÄÊý¾Ý¿ÆÑ§¼ÒÔÚÊý¾Ý·ÖÎöÍøÂçÖеÄHadoop¼¯ÈºÉÏÖ´ÐвéѯºÍMapReduce²Ù×÷£¬¶øÇÒ¶Ô¸ÃÍøÂçµÄ·ÃÎÊÓÉÎïÀí°²È«ºÍ/»ò¶ÔÓÃÓÚÖ´ÐвéѯµÄ¿Í»§¶Ë»úÆ÷µÄÈÏÖ¤À´¿ØÖÆ¡£

ͼ12-3 ʹÓõ¼Èë/µ¼³ö¹¤×÷Á÷µÄ¡°ÆøÏ¶¡±ÍøÂç¸ôÀë
ΪÁËÖ§³ÖʹÓÃÕâЩÊý¾Ý¼¯½á¹ûµÄÆóÒµ¼¶Ó¦ÓóÌÐò£¬±ØÐ뿪·¢ºÍÓ¦ÓÃÒ»¸öÖØÒªµÄ¹¤×÷Á÷´¦Àí¹ý³Ì£º
(1) Ê×ÏÈ£¬±ØÐë´ÓÆóÒµÍøÂçÊʵ±µÄÊý¾Ý¿âºÍÓ¦ÓóÌÐòÖгéÈ¡´ý·ÖÎöµÄËùÓÐÊý¾Ý£¬½«ÆäдÈëý½é£¬²¢´øÈëµ½¸ôÀëµÄÍøÂçÖС£
(2) Ò»µ©×¼±¸ºÃÁË·ÖÎöËùÓõÄÊý¾Ý¶øÇÒÒѾ½«Æä¼ÓÔØµ½Á˼¯ÈºÖУ¬ÄÇô¾Í¿ÉÒÔÔËÐÐHadoopMapReduce×÷Òµ£¬Ö±µ½Éú³É´ýÉó²éµÄ½á¹û¡£
(3) ¶ÔÓÚ½á¹ûÀ´Ëµ£¬±ØÐëʹÓÃÓÉÍⲿÆóÒµ¼¶Ó¦ÓóÌÐò¿ØÖƵÄÊÚȨ²ßÂÔÀ´±ê¼Ç½á¹û£¬»òÕß¶Ô½á¹û½øÐйýÂË£¬ÒÔ±ãɾ³ýÃô¸ÐµÄ¡¢±£ÃܵĻòÕßÊÜÒþ˽±£»¤µÄÊý¾Ý¡£
(4) Ò»µ©¹ýÂË»òʹÓ÷ÃÎÊ¿ØÖƲßÂÔ±ê¼ÇÁË´ËÊý¾Ý¼¯£¬¾Í¿ÉÒÔ½«¸ÃÊý¾Ý¼¯Ð´È뵽ý½é²¢µ¼Èëµ½ÆóÒµ¼¶Ó¦ÓóÌÐò¡£
¶ÔÓÚÐí¶à×éÖ¯À´Ëµ£¬ÕâÊÇÒ»¸ö·±ËöµÄ¹ý³Ì£¬ÒòÎªÉæ¼°Á½¸öÍøÂçµÄÎïÀí¸ôÀ룬¶øÇÒÐèÒªÒ»¸ö¹¤×÷Á÷¡ª¡ª´ÓÔÊ¼ÍøÂçÖе¼³öÊý¾Ý£¬½«Æäµ¼Èëµ½Êý¾Ý·ÖÎöÍøÂ磬²¢½øÐзÖÎö¡¢¹ýÂË£¬È»ºó×¼±¸½á¹ûÊý¾Ý¼¯²¢¼ÓÔØµ½ÆóÒµ¼¶Ó¦ÓÃÖС£È»¶ø£¬µ±Êý¾ÝÓÈÆäÃô¸Ðʱ£¬Ðí¶à×éÖ¯»¹ÊDzÉÈ¡Õâ¸ö·½°¸¡£
¼øÓÚÒýÈëµÄ¸´ÔÓÐÔ£¬Ò»Ð©×éÖ¯¿ªÊ¼×ªÏòÒ»¸öÀàËÆµÄÄ£ÐÍ£¬¼´Ò»ÖÖ½«Á÷Á¿ÏÞ¶¨Îª´ÓÆóÒµÍøÂçÖеĿÉÐÅÖ÷»úµ½Êý¾Ý·ÖÎöÍøÂçµÄ·½°¸£¬Èçͼ12-4Ëùʾ¡£ÔÚÕâÖÖÇé¿öÏ£¬ETL¹ý³Ì¿ÉÒÔͨ¹ýÍøÂçÍê³É£¬Ê¡È¥ÁËÇ°ÃæËùÊö´¦Àí¹ý³ÌµÄµÚ(1)²½¡£

ͼ12-4 ʹÓõ¥Ïò´«ÊäµÄÍøÂç¸ôÀë
½«Apache AccumuloÖ÷ÒªÓÃÓÚ¶ÔÊý¾Ý½øÐзÃÎÊ¿ØÖƵÄһЩ×éÖ¯£¬»á¶Ô¿ÉÒÔ·¢²¼µ½ÆóÒµÍøÂçÖеĽá¹ûÊý¾Ý¼¯Ö´ÐÐÊý¾Ý¹ýÂË¡ª¡ªÀýÈ磬´´½¨¡°ÆóÒµÍøÂçÓû§¡±£¬ËûÃÇµÄÆ¾¾ÝÓëÍøÂçÖеÄ×îµÍÊÚȨµÈ¼¶Ïàͬ¡£»ùÓÚ´ËÓû§¶Ô´ý·¢²¼Êý¾Ý½øÐеĹýÂËͨ³£Ê¹µÃ½á¹û¼¯¸üÒ×ÓÚÔÚÄÚ²¿·¢²¼£¬¶ø²»±Øµ£ÐIJ»¾ÒâµÄÐÅϢй¶¡£
¿ÉÒÔÒÔÆäËûÎÞÊýÖÖ·½Ê½Ê¹ÓÃÍøÂç¸ôÀ롪¡ªÕâЩֻÊÇÆäÖеÄÒ»²¿·Ö¡£ÆäËûһЩ·½°¸°üÀ¨»ùÓÚËùʹÓÃÊý¾ÝµÄÀàÐ͸ôÀëHadoop¼¯Èº£¬¶øÄ³Ð©ÏÞÖÆ½ÏÉٵķ½°¸°üÀ¨ÔÊÐíÓëÆóÒµÍøÂçÖеĻúÆ÷»¥Áª£¬Ê¹ÓÃACLÀ´ÏÞÖÆÖ»ÓпÉÐÅÖ÷»úÄܹ»·ÃÎÊ¡£
ÆóÒµ¼¶°²È«½â¾ö·½°¸µÄÿ¸ö²¿·Ö¶¼½«È¡¾öÓÚ×éÖ¯×ÔÉíµÄ°²È«ÐèÇ󡪡ªÃ»ÓÐÈκÎÁ½¸ö×éÖ¯ÊÇÍêÈ«ÏàͬµÄ¡£ÎÞÂÛÈçºÎ£¬±¾ÕÂÌṩµÄʾÀýºÍÖ¸ÄÏÓ¦¸ÃÄܹ»ÔÚ¹¹½¨ÆóÒµ¼¶°²È«½â¾ö·½°¸Ê±°ïµ½Äã¡£
12.4 С½á
±¾Õ¸ø³öÁËÆóÒµ¼¶µÄ°²È«ÊÓͼ£¬¹Ø×¢ÓÚÊý¾ÝÉúÃüÖÜÆÚÖеݲȫ²ßÂÔºÍÒÔÊý¾ÝΪÖÐÐĵÄÊӽǡ£ÖØÒªµÄÊǰ²È«¼Ü¹¹Ê¦ÃÇÒªÀí½âÕâ¸öÀ¶Í¼£¬Í¬Ê±Äܹ»½â¾öHadoopºÍ²¹³ä°²È«¹¤¾ßËùÄÜÌṩµÄ²»Í¬·½ÃæµÄÆóÒµ¼¶°²È«¡£
±¾ÕÂÒÔ¿ª·¢Ê¹ÓÃHadoopµÄÆóÒµ¼¶Ó¦ÓÃÖж԰²È«¹ËÂǵļòÒª¸ÅÊö×÷Ϊ¿ªÊ¼¡£ÄãѧϰÁËHadoop×ÔÉíÎÞ·¨½â¾öµÄһЩ°²È«ÌôÕ½¡ª¡ª°üÀ¨ÃæÏòÊý¾ÝµÄ°²È«¡¢²î·ÖÒþ˽ºÍ¾²Ö¹Êý¾ÝµÄ¼ÓÃÜ¡£²é¿´ÁË´óÁ¿ÓÃÓÚ¹¹½¨Ê¹ÓÃHadoopµÄÆóÒµ¼¶°²È«½â¾ö·½°¸µÄ·½·¨£¬²¢ä¯ÀÀÁËһЩָÄϺÍʾÀý¡£Ñ§Ï°ÁËÈçºÎ½«ApacheAccumuloÓÃÓÚµ¥Ôª¸ñ¼¶±ðµÄ°²È«£¬²¢ÉîÈ뿼²ìÁ˾²Ö¹Êý¾ÝµÄ¼ÓÃÜÒÔ¼°µ±Ç°¿ÉÓõÄһЩ·½°¸¡£»¹Ñ§Ï°ÁËһЩ¹ØÓÚÍøÂç¸ôÀëµÄ·½°¸£¬Ðí¶à¶Ô±©Â¶Ãô¸ÐÊý¾ÝÓйËÂǵÄ×éÖ¯¶¼ÔÚʹÓÃÕâÖÖ·½°¸¡£
¶ÔÓÚHadoopÀ´Ëµ£¬°²È«µ±È»ÊÇÒ»¸ö²»¶ÏÑݽøµÄ»°Ì⣬¶øÇÒÊÇHadoopÔÚδÀ´¼¸ÄêÖн«³ÖÐøÔö³¤µÄÁìÓò¡£µÚ13Õ¹Ø×¢ÓÚHadoopÔÚһЩÆäËû·½Ãæ¼´½«µ½À´µÄ¸Ä½ø£¬²¢ÌÖÂÛµ±½ñÐÂÐ˵ġ¢ÇÒ»áÔÚδÀ´¼ÌÐøÔö³¤µÄÇ÷ÊÆ¡£
|