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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
HBase2.0ÔÚ360µÄ¼¼Êõ¸Ä½øÓëÓ¦ÓÃʵ¼ù
 
  2675  次浏览      27
 2019-1-10
 
±à¼­ÍƼö:
±¾ÎÄÀ´×ÔÓÚaliyun£¬±¾ÎÄÖ÷Òª½éÉÜÁËHBaseÔÚ360µÄʹÓÃÇé¿ö¡¢»ùÓÚHBaseʵÏֵŦÄܺ͸ĽøµÈ¡£

Ò»¡¢HBaseÔÚ360µÄʹÓÃÇé¿ö

´ÓÊý¾ÝÀ´¿´£¬360Ŀǰ¹²ÓÐ27¸öHBase¼¯Èº£¬ÆäÖÐÔÚÏß¼¯Èº9¸ö£¬×ۺϼ¯Èº3¸ö¡£Õû¸ö360¹²ÓÐ12500¸öHBase½Úµã£¬µ¥¼¯Èº×î¶àÓÐ2184¸öRegionServer¡£360 µÄHBase¼¯Èº¹²ÓÐ1885¸öTableÒÔ¼°719703¸öRegion£¬¶øµ¥±í×î´óµÄRegionÊýΪ74788¡£´ËÍ⣬´ÓÒµÎñ²ãÃæÀ´¿´£¬360µÄHBase¼¯ÈºÃ¿ÃëÖÓ´óÔ¼ÐèÒªÏìÓ¦3°ÙÍò´ÎÇëÇó¡£Í¨¹ýÕâЩÊý¾ÝÒ²Äܹ»ËµÃ÷£¬Ä¿Ç°¶ÔÓÚ360¶øÑÔ£¬ÎÞÂÛÊÇHBase¼¯Èº»¹Êǽڵ㣬ÊýÁ¿¶¼·Ç³£ÅÓ´ó£¬ÇëÇóÁ¿Ò²·Ç³£´ó¡£¶øÈç½ñ£¬Õû¸ö360±³ºóµÄ¼¸´óÖØÒªÒµÎñ¶¼ÓÐHBaseµÄÉíÓ°£¬±ÈÈç360ËÑË÷¡¢°²È«ÒµÎñÒÔ¼°360½ðÈÚºÍIoTµÈ±³ºó¶¼Ê¹ÓÃÁËHBase´æ´¢Êý¾ÝÀ´Ö§³ÅÒµÎñµÄ¿ìËÙ·¢Õ¹¡£

Õë¶ÔÈç´ËÖÚ¶àµÄÒµÎñ³¡¾°£¬360¸ù¾ÝÒµÎñÌØµã½«Æä·ÖΪÁËÈýÀࣺ

µÚÒ»ÀàÒµÎñ¶ÔÏìӦʱ¼ä±È½ÏÃô¸Ð£¬ÕâÀàÒ»°ãÊÇÔÚÏßÒµÎñ£¬ËùʹÓõķ½Ê½¾ÍÊÇʵʱ´æÈ¡Êý¾Ý¡£¶ÔÓÚ´ËÀàÒµÎñ£¬Ò»°ã¶øÑԻὫÆä·Åµ½Ïß¼¯ÈºÖ®ÉÏ£¬ÔÚÏß¼¯ÈºµÄ·þÎñÆ÷ÅäÖã¨CPU¡¢ÄÚ´æ¡¢´ø¿íµÈ£©¶¼»áÏà¶Ô¸ü¸ßһЩ¡£Óë´Ëͬʱ£¬ÎªÁ˱£Ö¤·þÎñÖÊÁ¿£¬²»»áÔÚÕâЩ¼¯ÈºÖÐÅÜMR»òSparkµÈ¼ÆËã×÷Òµ¡£

µÚ¶þÀàÒµÎñ¶Ô´ÅÅÌÈÝÁ¿ÒªÇó½Ï¸ß£¬ÆäÓ¦Óó¡¾°Ò»°ãÊǶ¨ÆÚÅúÁ¿Ð´Èë´óÁ¿Êý¾Ý£¬²¢ÖÜÆÚÐԵؽøÐÐÀëÏß·ÖÎö»ò±¸·Ý¡£ÕâÀàÒµÎñ»á±»·Åµ½ÀëÏß¼¯ÈºÉÏ£¬¶øÀëÏß¼¯ÈºÒ»°ã»áÅäÖôóÓ²ÅÌ£¬¶øCPU¡¢ÄÚ´æÅäÖÃÒ²»áÏàÓ¦µÍÒ»µã¡£¶ÔÓÚ´ËÀàÒµÎñ£¬360µÄHBaseÍŶÓÒ²¿ª·¢ÁËһЩMR×÷Òµ£¬ÒÔ°ïÖúÒµÎñ¿ÉÒÔ·½±ãµÄ´óÅúÁ¿¶Áд¡¢·ÖÎöHBaseÖеÄÊý¾Ý¡£

µÚÈýÀàÒµÎñÊôÓÚµÚÒ»ÀàºÍµÚ¶þÀàÖÐ¼äµØ´øµÄÇé¿ö£¬ÕâÀàÒµÎñ¶Ô´ÅÅÌÈÝÁ¿ºÍÏìӦʱ¼äÓв¿·ÖÒªÇ󣬵«²¢²»Ê®·ÖÃô¸Ð£¬±ÈÈç¼à¿Ø¡¢»º´æËÝÔ´¡¢±¨±íµÈ°ëÔÚÏßÒµÎñ¡£ÕâÀàÒµÎñÒ»°ã»á·Åµ½×ۺϼ¯ÈºÖУ¬×ۺϼ¯ÈºµÄÅäÖúÍÔÚÏß¼¯ÈºÏ൱£¬Õâ¸ö¼¯Èº¼È¿ÉÒÔ×öÔÚÏß¶ÁдHBase£¬Ò²¿ÉÒÔÅÜÀëÏß·ÖÎö×÷Òµ£¬Òò´Ë¿ÉÒÔ³ä·ÖµÄÀûÓÃÓ²¼þ×ÊÔ´¡£µ«ÕâÑùµÄȱµãÒ²ºÜÃ÷ÏÔ£¬ÄǾÍÊÇ»á³öÏÖ×ÊÔ´¾ºÕùºÍÏ໥ӰÏìµÄÇé¿ö¡£

¶þ¡¢»ùÓÚHBaseʵÏֵŦÄܺ͸Ľø

¶þ¼¶Ë÷Òý

ΪÁ˸üºÃµØÖ§³ÅÒµÎñ£¬360ÔÚHBase0.89-Facebook°æ±¾ÉÏʵÏֺ͸ĽøÁËһЩ¹¦ÄÜ¡£¶ÔÓÚHBase¶øÑÔ£¬Æä²éѯ·½Ê½Ö÷ÒªÓÐÁ½ÖÖ£¬¼´getºÍscan¡£get²éѯËٶȿ죬µ«Ö»¿ÉÒÔ»ùÓÚRowKey½øÐвéѯ£¬ËäÈ»¿ÉÒÔÉè¼Æ×éºÏ×ֶεÄRowKey£¬µ«²»Áé»î£¬Ê¹Óø´ÔÓ£¬¶øÇÒÈÝÒ×Ôì³ÉÊý¾ÝÇãб¡£scan²éѯÔò»áÏûºÄ´óÁ¿×ÊÔ´£¬¶øÇÒÎÞ·¨±£Ö¤Ê±Ð§ÐÔ¡£ÎªÁ˸üºÃµØÊµÏÖHBaseµÄ²éѯ£¬360ÔÚ¶þ¼¶Ë÷ÒýÉÏ×öÁ˺ܶ๤×÷¡£

Ŀǰ£¬Òµ½ç¶ÔÓÚ¶þ¼¶Ë÷ÒýµÄʵÏÖ·½°¸´óÌå·ÖΪÁ½Àࣺȫ¾Ö¶þ¼¶Ë÷Òý·½°¸ºÍ¾Ö²¿¶þ¼¶Ë÷Òý·½°¸£¬Á½ÖÖ·½°¸¸÷ÓÐÓÅÁÓ£¬¶ø360Ñ¡ÔñÁ˾ֲ¿¶þ¼¶Ë÷Òý·½°¸¡£ÒÔÏÂͼµÄTest±íΪÀý£¬ÎªCF1:C2Áн¨Á¢Á˶þ¼¶Ë÷Òý£¬´Ëʱ£¬ÔÚ±íµÄͬ¸öRegionÖУ¬³ýÁËÔ­À´µÄÊý¾Ý£¬»¹»á²åÈëË÷ÒýÊý¾Ý£¬Ö»²»¹ýË÷ÒýÊý¾Ý´æ´¢ÔÚÒ»¸öÌØÊâµÄINDEX Column FamilyÖС£¶ÔÓÚË÷ÒýÊý¾ÝµÄRowKey¶øÑÔ£¬ÒÔRegionµÄStartKey¿ªÍ·ÒÔ±£Ö¤ºÍԭʼÊý¾ÝÔÚͬһ¸öRegionÖУ¬ÒÔÕæÊµÊý¾ÝµÄRowKey½á⣬ÒÔ±£Ö¤Ë÷ÒýÊý¾ÝRowKeyµÄΨһÐÔ¡£Ë÷ÒýÊý¾ÝµÄValue£¬Ö»ÊǼǼÁËË÷ÒýRowKey²»Í¬²¿·ÖµÄ³¤¶È£¬ÒÔ·½±ã·´ÐòÁл¯RowKeyµÄ¸÷¸ö²¿·Ö¡£ÔÚ½øÐÐдÊý¾ÝµÄʱºò£¬¿ÉÄÜÐèҪƴ³öÀ´Ë÷ÒýÊý¾ÝÈ»ºó²åÈëµ½±íÖС£ÔÚ¶ÁÊý¾ÝµÄʱºò£¬¾Í¿ÉÒÔͨ¹ýStartKey¡¢INDEX nameºÍValueÆ´³öÀ´µÄscan²éѯÓï¾ä½«Ë÷ÒýÊý¾ÝÈ¡³öÀ´£¬»ñµÃËùÐèÒª²éѯÊý¾ÝµÄRowKeyÁÐ±í£¬ÔÙÈ¥ÁбíÖÐÈ¡³öÕæÊµÊý¾Ý¡£

¶ÔÓÚд·½°¸µÄ¾ßÌåʵÏÖ£¬¼òµ¥¶øÑÔ¾ÍÊÇʹÓÃÁËHBase×Ô´øµÄЭ´¦ÀíÆ÷£¬Òò´Ë¿ÉÒÔʵÏÖÁãÇÖÈëµÄ¶þ¼¶Ë÷Òý·½°¸¡£µ±¿Í»§¶ËÐèÒªPutÊý¾ÝµÄʱºò£¬Ð­´¦ÀíÆ÷¿ÉÒÔÔÚPut֮ǰ½«¶þ¼¶Ë÷ÒýµÄÊý¾ÝÒ²¼ÓÈëÐèÒª´«ÊäµÄ¶ÔÏóÖУ¬ÒÔ±£Ö¤Ô­×ÓÐÔ¡£

¶ÔÓÚ¶Á·½°¸µÄ¾ßÌåʵÏÖ¶øÑÔ£¬¾ÍÊÇÐèÒªÏÈ´´½¨Ò»¸öScanner£¬ÔÙµ÷ÓÃNext()·½·¨À´¶ÁÈ¡Êý¾Ý¡£360µÄ·½°¸Ö§³ÖÀàSQLд·¨£¬ËùÒÔµ±¿Í»§¶ËÊÕµ½ÀàSQLÇëÇóʱ£¬»áÏȽøÐÐÓï·¨½âÎö£¬Èç¹ûÓ﷨ûÎÊÌ⣬Ôò»á¹¹ÔìÒ»¸öscan¶ÔÏ󣬲¢ÇëÇóRegion ServerÀ´CreateScanner¡£ÔÚRegion Server¶Ë£¬Ôòͨ¹ýЭ´¦ÀíÆ÷À´À¹½Ø£¬²¢¸ù¾ÝÇëÇó¹¹Ôì³öÒ»¸öScannerÓï·¨Ê÷¡£

ÔÚ´´½¨ÍêScannerÖ®ºó£¬ÏÂÒ»²½¾ÍÊÇͨ¹ýnext()·½·¨¶ÁÈ¡Êý¾Ý¡£Õⲿ·ÖÒ²·ÖΪÁ½²½£¬ÏȲéѯË÷ÒýÊý¾Ý£¬È»ºó·´ÐòÁл¯³öÕæÊµÊý¾ÝµÄRowKeyÁÐ±í£¬Ö®ºóʹÓÃÕâ¸öRowKeyÁбíÈ¥²éÑ¯ÕæÊµÊý¾ÝµÄColumn Family¡£²éѯ³öÊý¾ÝÖ®ºó£¬ÐèÒª¼ì²éÊý¾ÝÊÇ·ñÓÐЧ£¬È»ºó½«Êý¾Ý·µ»Ø¸ø¿Í»§¶Ë¡£¶ÔÓÚ¶þ¼¶Ë÷ÒýµÄ¶ÁÁ÷³Ì¶øÑÔ£¬ÐèÒªÏȲéѯË÷ÒýÊý¾Ý£¬ÔÙ²éÑ¯ÕæÊµÊý¾Ý£¬Òò´ËÐèÒª²éѯÁ½´Î¡£Æäʵ£¬¶ÔÓÚ´ËÁ÷³Ì¶øÑÔ£¬Ò²¿ÉÒÔ¼ÌÐø½øÐÐÓÅ»¯£¬±ÈÈç°ÑÕæÊµÊý¾ÝÒ²ÐòÁл¯µ½ INDEX familyµÄValueÖУ¬ÕâÑùÒ»À´Ö»ÐèÒª²éѯһ´ÎË÷ÒýÊý¾Ý¼´¿É·µ»Ø¸ø¿Í»§¶Ë¡£

¿ç¼¯Èº±¸·Ý

ΪÁËʵÏÖHBase¸ü¸ßµÄ¿ÉÓÃÐԺͷ½±ãÒµÎñ¾Í½ü·ÃÎÊÊý¾Ý£¬360µÄHBaseÍŶӿª·¢Á˿缯Ⱥ±¸·Ý¹¦ÄÜ¡£TransferTableÊÇÒ»ÕÅÆÕͨµÄHbase±í£¬ÔÚÕâÀï¿ÉÒÔ°ÑËüµ±×öÒ»¸ö»º´æ¶ÓÁУ¬Í¼ÖÐÆä×ó²àµÄLogEntryVisitorÏ൱ÓÚÒ»¸öÉú²úÕߣ¬¸ºÔðÏòTransferTable±íÖÐдÊý¾Ý£¬ËüÓұߵÄTransferDaemonÏ൱ÓÚÒ»¸öÏû·ÑÕߣ¬¸ºÔð´ÓTransferTableÖжÁÊý¾Ý²¢·¢Ë͵½±¸·Ý¼¯Èº¡£ÕâÑùµÄÉú²úÕß-Ïû·ÑÕßÄ£Ð;ÍÊǿ缯Ⱥ±¸·ÝµÄºËÐÄÂß¼­¡£

×Ü½á¶øÑÔ£¬µ±¿Í»§¶ËÏòUserTableÖÐдÊý¾Ýʱ£¬LogEntryVisitor»áÀ¹½ØWAL Append²Ù×÷£¬²¢°ÑÕâÌõ¼Ç¼дµ½TransferTableÖУ¬ÕâÊÇͬ²½µÄ¹ý³Ì¡£ÎªÁ˱£Ö¤Ð´TransferTableµÄЧÂÊ£¬360 HBaseÍŶӿª·¢ÁËÀàËÆÓÚBalancer¹¦ÄÜ£¬±£Ö¤Ã¿¸öUserTable RegionËùÔÚµÄRegionServerÖÁÉÙÓÐÒ»¸öTransferRegion£¬Ð´TransferTableµÄʱºòÖ±½Óµ÷ÓÃPut·½·¨¼´¿É£¬±ÜÃâÁ˲»±ØÒªµÄÐòÁл¯ºÍ·´ÐòÁл¯²Ù×÷¡£È»ºó£¬TransferDaemonÏ̲߳»¶Ï´ÓTransferTableÖÐɨÃèÊý¾Ý£¬²¢Ê¹Óöà¸öÏ̲߳¢Ðз¢Ë͵½Ô¶¶ËµÄ±¸·Ý¼¯ÈºÖС£

Èý¡¢HBase2.0 Ó¦ÓÃʵ¼ù

Èç½ñµÄHBaseºÍǰ¼¸ÄêËù̸µÄHBaseÒѾ­²îÒìºÜ´óÁË£¬Ö®Ç°µÄHBase¿ÉÄܽö½öÖ¸µÄÊÇÒ»¸öKey-ValueÐ͵ÄNoSQLÊý¾Ý¿â£¬¶øÏÖÔÚHBaseÈ´´ú±í×ÅÒ»¸öÉú̬£¬²»½öÊÇKV£¬»¹ÓÐʱ¿Õ¡¢Ê±Ðò¡¢Í¼µÈ×é¼þ¡£ËùÒÔ¶ÔÓÚ¿ª·¢×éÖ¯¶øÑÔ£¬Ó¦¸Ã¾¡ÔçÈÚÈëÉú̬֮ÖУ¬±ÜÃâºóÐøµÄ¼æÈÝÐÔÎÊÌâºÍ´óÁ¿µÄÇ¨ÒÆ¹¤×÷¡£Ä¿Ç°£¬360µÄHBase2.0ʵ¼ùÖÐÖ÷ÒªÓÐÁ½ÖÖÓ¦Óó¡¾°£¬¼´¶ÔÏó´æ´¢·þÎñºÍʱÐò·þÎñ¡£

ËÄ¡¢ÎÊÌâÓë½â¾ö

ÔÚʹÓÃHBase2.0ʱ£¬360ËùÓöµ½µÄÖ÷ÒªÎÊÌâ¾ÍÊÇMOBÌØÐÔËù´øÀ´µÄÎÊÌ⣬Õâ¸öÐÂÌØÐÔ´øÀ´Á˵¥µãCompaction¡¢MOBÎļþ¹ýÓÚ¼¯ÖУ¬ÒÔ¼°Îļþ¹ý´ó²»±ãÊͷſռäµÈÎÊÌâ¡£¾ßÌåµÄ½â¾ö·½°¸ÔòÈçÏÂͼËùʾ£º

Èç½ñ£¬HBaseÖ¸µÄ²»ÔÙ½ö½öÊÇ֮ǰËù̸¼°µÄKey-ValueÀàÐ͵ÄNoSQLÊý¾Ý¿â£¬¶øÊÇ´ú±í×ÅÒ»Õû¸öHBaseÉú̬¡£×÷Ϊ¼¼ÊõÈËÔ±£¬ÎÒÃÇÓ¦¸Ã¾ß±¸¼¼ÊõǰհÐÔ£¬Ó¸ҵØÓµ±§Éú̬£¬²¢ÎªÉçÇøºÍÉú̬×ö³ö¹±Ïס£ËäÈ»£¬Éú̬¿ÉÄܲ¢²»¹»³ÉÊ죬µ«ÊÇÌôÕ½±Ø½«Óë»úÓö²¢´æ¡£

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

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

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

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