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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
ΪHadoopʵÏÖ¹¹½¨ÆóÒµ¼¶°²È«½â¾ö·½°¸
 
×÷Õß Çåͼ£¬»ðÁú¹ûÈí¼þ    ·¢²¼ÓÚ 2014-10-23
  3670  次浏览      29
 

µÚ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ÔÚһЩÆäËû·½Ãæ¼´½«µ½À´µÄ¸Ä½ø£¬²¢ÌÖÂÛµ±½ñÐÂÐ˵ġ¢ÇÒ»áÔÚδÀ´¼ÌÐøÔö³¤µÄÇ÷ÊÆ¡£

   
3670 ´Îä¯ÀÀ       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[±±¾©]

MySQLË÷Òý±³ºóµÄÊý¾Ý½á¹¹
MySQLÐÔÄܵ÷ÓÅÓë¼Ü¹¹Éè¼Æ
SQL ServerÊý¾Ý¿â±¸·ÝÓë»Ö¸´
ÈÃÊý¾Ý¿â·ÉÆðÀ´ 10´óDB2ÓÅ»¯
oracleµÄÁÙʱ±í¿Õ¼äдÂú´ÅÅÌ
Êý¾Ý¿âµÄ¿çƽ̨Éè¼Æ


²¢·¢¡¢´óÈÝÁ¿¡¢¸ßÐÔÄÜÊý¾Ý¿â
¸ß¼¶Êý¾Ý¿â¼Ü¹¹Éè¼ÆÊ¦
HadoopÔ­ÀíÓëʵ¼ù
Oracle Êý¾Ý²Ö¿â
Êý¾Ý²Ö¿âºÍÊý¾ÝÍÚ¾ò
OracleÊý¾Ý¿â¿ª·¢Óë¹ÜÀí


GE Çø¿éÁ´¼¼ÊõÓëʵÏÖÅàѵ
º½Ìì¿Æ¹¤Ä³×Ó¹«Ë¾ Nodejs¸ß¼¶Ó¦Óÿª·¢
ÖÐÊ¢Òæ»ª ׿Խ¹ÜÀíÕß±ØÐë¾ß±¸µÄÎåÏîÄÜÁ¦
ijÐÅÏ¢¼¼Êõ¹«Ë¾ PythonÅàѵ
ij²©²ÊITϵͳ³§ÉÌ Ò×ÓÃÐÔ²âÊÔÓëÆÀ¹À
ÖйúÓÊ´¢ÒøÐÐ ²âÊÔ³ÉÊì¶ÈÄ£Ðͼ¯³É(TMMI)
ÖÐÎïÔº ²úÆ·¾­ÀíÓë²úÆ·¹ÜÀí