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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
ÉîÈëÁ˽âHBase¼Ü¹¹
 
  3562  次浏览      29
 2018-4-13
 
±à¼­ÍƼö:
±¾ÎÄÀ´×ÔÓÚcsdn£¬±¾ÎĽéÉÜÁËHBaseÌåϵ½á¹¹¼°ÆäÔÚNoSQLÊý¾Ý´æ´¢½â¾ö·½°¸·½ÃæµÄÖ÷ÒªÓÅÊÆ¡£

HBase¼Ü¹¹×é¼þ

´ÓÎïÀí½á¹¹ÉϽ²£¬HBaseÓÉÈýÖÖÀàÐ͵ķþÎñÆ÷¹¹³ÉÖ÷´Óʽ¼Ü¹¹¡£Region ServersΪÊý¾ÝµÄ¶ÁÈ¡ºÍдÈëÌṩ·þÎñ¡£µ±·ÃÎÊÊý¾Ýʱ£¬¿Í»§¶ËÖ±½ÓºÍRegion ServersͨÐÅ¡£RegionµÄ·ÖÅ䣬DDL (create, delete tables)²Ù×÷ÓÐHBase Master½ø³Ì´¦Àí¡£ZookeeperÊÇHDFSµÄÒ»²¿·Ö£¬Î¬»¤×ÅÒ»¸ö»î¶¯µÄ¼¯Èº¡£

Hadoop DataNode ´æ´¢×ÅRegion ServerËù¹ÜÀíµÄÊý¾Ý¡£ËùÓеÄHBaseÊý¾Ý´æ´¢ÔÚHDFSµÄÎļþÖС£Region ServerºÍHDfs DataNode²¢ÖÃÔÚÒ»Æð£¬ÕâʹµÃRegionServersËù·þÎñµÄÊý¾Ý¾ßÓÐÊý¾Ý¾Ö²¿ÐÔ£¨Ê¹Êý¾Ý½Ó½üÐèÒªµÄλÖã©¡£HBaseÊý¾ÝÔÚдÈëʱÊDZ¾µØÊý¾Ý£¬µ«Êǵ±RegionÒÆ¶¯Ê±£¬ÔÚѹʵ֮ǰËü²»ÊDZ¾µØÊý¾Ý¡£

NameNodeά»¤¹¹³ÉÎļþµÄËùÓÐÎïÀíÊý¾Ý¿éµÄÔªÊý¾ÝÐÅÏ¢¡£

Regions

HBase±íÊǰ´ÕÕrowkey·¶Î§Ë®Æ½»®·ÖΪ¡°Regions¡±.Region°üº¬±íÖÐstart keyºÍend keyÖ®¼äµÄËùÓÐÐС£Region Server½«Regions·ÖÅäµ½¼¯ÈºµÄ½ÚµãÖУ¬²¢¶ÔÊý¾ÝµÄ¶ÁÈ¡ºÍдÈëÌṩ·þÎñ¡£µ¥¸öRedion Server¿É·þÎñ´óÔ¼1000¸öregion¡£

HBase HMaster

Region·ÖÅ䣬DDL(create, delete tables)²Ù×÷ÓÉHBase Master´¦Àí¡£

MaterµÄÖ÷ÒªÖ°Ôð£º

Эµ÷Region Servers

Æô¶¯Ê±·ÖÅäRegion£¬»¹Ô­Ê±ÖØÐ·ÖÅäRegion»òÕ߸ºÔؾùºâ

¼à¿Ø¼¯ÈºÖÐËùÓÐRegionServerʵÀý£¨¼àÌýZookeeperµÄÏûÏ¢£©

¹ÜÀíÔ±·½·¨

Ìṩ´´½¨£¬É¾³ý£¬¸üбíµÄ½Ó¿Ú¡£

ZooKeeper: The Coordinator

HBaseʹÓÃZookeeper×öΪ·Ö²¼Ê½Ð­µ÷·þÎñÀ´Î¬»¤¼°ÈºÖÚserverµÄ״̬¡£Zookeeperά»¤´¦ÓÚ»î״̬²¢¿ÉʹÓõÄSevers£¬²¢ÌṩServer¹ÊÕÏ֪ͨ¡£ZookeeperʹÓù²Ê¶À´±£Ö¤¹²Í¬¹²ÏíµÄ״̬¡£Çë×¢Ò⣬Ӧ¸ÃÓÐÈýµ½Îą̊»úÆ÷´ï³É¹²Ê¶¡£

How the Components Work Together£¨×齨ÈçºÎЭµ÷¹¤×÷£©

ZookeeperÓÃÓÚЭµ÷·Ö²¼Ê½ÏµÍ³³ÉÔ±µÄ¹²Ïí״̬ÐÅÏ¢¡£Region ServerºÍactive HMasterͨ¹ý»á»°Á´½Óµ½Zookeeper.ZooKeeperͨ¹ýÐÄÌøÎ¬»¤»á»°»î¶¯µÄÁÙʱ½Úµã¡£

ÿ¸öRegion Server´´½¨Ò»¸öÁÙʱ½Úµã¡£HMaster¼à¿ØÕâЩ½ÚµãÒÔ·¢ÏÖ¿ÉÓõÄregion servers£¬²¢¼à¿ØÕâЩ½ÚµãµÄ·þÎñÆ÷¹ÊÕÏ¡£

HMaster¼à¿ØÕâЩ½ÚµãÒÔ·¢ÏÖ¿ÉÓõÄÇøÓò·þÎñÆ÷£¬²¢¼à¿ØÕâЩ½ÚµãµÄ·þÎñÆ÷¹ÊÕÏ¡£HMastersÕù¶á´´ÔìÒ»¸ö¶ÌÔݵĽڵ㡣ZookeeperÈ·¶¨µÚÒ»¸ö²¢Ê¹ÓÃËüÀ´È·±£Ö»ÓÐÒ»¸öÖ÷Õ¾´¦Óڻ״̬¡£ »î¶¯HMaster½«ÐÄÌø·¢Ë͵½Zookeeper£¬·Ç»î¶¯HMaster½«¼àÌý»î¶¯HMaster¹ÊÕϵÄ֪ͨ¡£Èç¹ûregion server»òÕßactice HMasterδÄÜ·¢ËÍÐÄÌøÐźţ¬Ôò»á»°¹ýÆÚ²¢É¾³ýÏàÓ¦µÄÁÙʱ½Úµã¡£ListenersµÄ¸üÐÂÔÚÊÕµ½½Úµãɾ³ýµÄ֪ͨºó¡£Active HMaster¼àÌýregion servers£¬²¢ÔÚregion servers³öÏÖ¹ÊÕÏʱ½øÐлָ´¡£Inactive HMaster¼àÌýactive HMaster¹ÊÕÏ£¬²¢ÇÒÈç¹ûactive HMaster¹ÊÕÏʱ£¬inactive HMaster±à³Ìactive״̬¡£

Base First Read or Write

HBaseÓÐÒ»¸ö½Ð×öMETAµÄÌØÊâµÄĿ¼±í£¬ÓÃÓÚ±£´æ¼¯ÈºÖÐregionsµÄλÖÃÐÅÏ¢¡£Zookeeper´æ´¢×ÅMETA±íµÄλÖá£

ÒÔÏÂÊǿͻ§¶ËµÚÒ»´Î¶ÁÈ¡ºÍдÈëHBaseʱ·¢ÉúµÄÇé¿ö£º

1.¿Í»§¶Ë´ÓzookeeperÖÐMETA TableµÄλÖÃ.

2.¿Í»§¶Ë²éѯ.META¡£·þÎñÆ÷»ñÈ¡¿Í»§¶ËÏëÒª·ÃÎʵIJ¢ÇÒÊÇrowkeyËùÏà¶ÔÓ¦Region ServerµÄÐÅÏ¢¡£¿Í»§¶Ë»á½«META»º´æ´ø±¾µØ¡£

3.´ÓÏàÓ¦µÄRegion Server»ñÈ¡ÐÐ

ÔÚδÀ´µÄ¶ÁÈ¡²Ù×÷¹ý³ÌÖУ¬¿Í»§¶ËʹÓÃMeta CacheÀ´¼ìË÷META TableµÄλÖúÍ֮ǰ¶ÁÈ¡µÄRow Keys¡£Ëæ×Åʱ¼äµÄÍÆÒÆ£¬²»ÔÙÐèÒª²éѯMETA tableÁË£¬³ý·ÇӦΪһ¸öregion×ªÒÆ¶ø´í¹ý,ÄÇôËü½«ÖØÐ²éѯ²¢¸üÐÂMeta Cache¡£

HBase Meta Table

1.META±íÊÇÒ»¸ö±£´æµÄÁËϵͳÖÐËùÓÐregionÁбíµÄHBase±í¡£

2.META±í¾ÍÏñÒ»¿ÅB¡ªtree

3.METaµÄ½á¹¹ÈçÏ£º

Key: region start key,region id

Values: RegionServer

Region Server Components

Region ServerÔËÐÐÔÚHDFSµÄDataNode,²¢ÇҾ߱¸ÒÔÏÂ×é¼þ£º

1.WAL£ºÔ¤Ð´ÈÕÖ¾ÊÇ·Ö²¼Ê½ÎļþϵͳÉϵÄÎļþ¡£WALÓÃÓÚ´æ´¢ÉÐδ±»ÓÀ¾Ã±£´æµÄÐÂÊý¾Ý£¬ÓÃÓÚ¹ÊÕÏÇé¿öϵĻָ´¡£

2.BlockCache: ÊǶÁÈ¡»º´æ¡£ÔÚÄÚ´æÖд洢Ƶ·±¶ÁÈ¡µÄÊý¾Ý£¬½üÆÚ×îÉÙʹÓõÄÊý¾ÝÔÚÂúʱ±»É¾³ý¡£

3.MemStore:ÊÇдÈ뻺´æ¡£´æ´¢ÉÐδдÈë´ÅÅ̵ÄÊý¾Ý¡£ÔÚдÈë´ÅÅÌ֮ǰ½øÐÐÅÅÐò£¬Ã¿¸öregionµÄÿ¸öcolumn familyÓÐÒ»¸öMemStore¡£

4.ÔÚ´ÅÅÌÉÏ£¬Hfiles½«Ðд洢ΪÒÑÅÅÐòµÄKeyValues¡£

HBase Write Steps (1)

µ±¿Í»§¶Ë·¢ÆðPutÇëÇóʱ£¬µÚÒ»²½Êǽ«Êý¾ÝдÈëÓÚдÈÕÖ¾£¬WAL£º

1.·¢²¼µÄÄÚÈݽ«±»Ìí¼Óµ½´æ´¢ÔÚ´ÅÅÌÉϵÄWALÎļþĩβ¡£

2.WALÓÃÓÚÔÚ·þÎñÆ÷±ÀÀ£µÄÇé¿öÏ»ָ´ÉÐδ±£´æµÄÊý¾Ý¡£

HBase Write Steps (2)

Ò»µ©Êý¾ÝдÈëWAL£¬½«»á±»Ð´ÈëMemStoreÖУ¬È»ºó·ÅÈëPutÇëÇóÈ·ÈÏÐÅÏ¢·µ»Ø¸ø¿Í»§¶Ë¡£

HBase MemStore

MemStore ½«¸üеÄÄÚÈÝÅÅÐò²¢ÒÔKeyValuesµÄÐÎʽ´æ´¢µ½ÄÚ´æÖУ¬Ó뽫Æä´æ´¢ÔÚHFileÖÐÏàͬ¡£Ã¿¸öÁÐ×åÖ»ÓÐÒ»¸öMenStorre£¬¸üÐÂÄÚÈݰ´ÕÕÁÐ×åÅÅÐò¡£

HBase Region Flush

µ±MemStrore»ý¾ÛÁË×ã¹»µÄÊý¾Ý£¬Õû¸öÓÐÐò¼¯ºÏ±»Ð´Èëµ½HDFSµÄHFileÖС£HBaseÿ¸öÁÐ×åʹÓöà¸öHFile£¬ÆäÖаüº¬ÕæÕýµÄCell»òÕßKeyValueʵÀý¡£Ëæ×Åʱ¼äµÄÍÆÒÆ£¬ÔÚMenStoreÖиú¾ÝKeyValueÅÅÐò£¬×îÖÕˢе½´ÅÅÌHFileÎļþÖС£

×¢ÒâÕâÒ²ÊÇHBaseΪʲôÏÞÖÆÁÐ×åÊýÁ¿µÄÒ»¸öÔ­Òò¡£Ã¿¸öÁÐ×åÖ»ÓÐÒ»¸öMemStore£»µ±Ò»¸öMemStoreÊý¾ÝÂúÁË£¬»áˢе½´ÅÅÌÎļþÖС£Ëü»¹±£´æÁË×î½üдÈëµÄÐòÁкţ¬ÒÔ±ãÈÃϵͳ֪µÀµ½Ä¿Ç°ÎªÖ¹³Ö¾Ã»¯µÄÇé¿ö¡£

¸ßλÐòÁкÅ×÷ΪԪ×ֶδ洢ÔÚÿ¸öHFileÖУ¬ÒÔ·´Ó³³Ö¾Ã»¯½áÊøÎ»ÖÃÒÔ¼°¼ÌÐøÖ´ÐеÄλÖá£ÔÚregionÆô¶¯Ê±£¬ÐòÁкű»¶ÁÈ¡ºó£¬È»ºó×î¸ßλ×öΪб༭ÄÚÈݵÄÐòÁкš£

HBase HFile

Êý¾Ý´æ´¢ÔÚHFileÖУ¬ÆäÖаüº¬ÅÅÐòµÄKey/Value¡£µ±MemStoreÀÛ»ý×ã¹»µÄÊý¾Ýʱ£¬Õû¸öÒÑÅÅÐòµÄKeyValue¼¯½«±»Ð´ÈëHDFSÖеÄÐÂHFile¡£ÕâÊÇÒ»¸ö˳ÐòдÈë¡£ËüËٶȷdz£¿ì£¬ÒòΪËü±ÜÃâÁËÒÆ¶¯´ÅÅÌÇý¶¯Æ÷´ÅÍ·¡£

HBase HFile Structure

HBase°üº¬Ò»¸ö¶à²ãË÷Òý£¬ÊÇHBase²»±Ø¶ÁÈ¡Õû¸öÎļþµÄÇé¿öϲéÕÒ¶¨Î»Êý¾Ý¡£¶à¼¶Ë÷Òý¾ÍÏñÒ»¿Åb+tree:

1.¼üÖµ¶Ô°´ÕÕÉýÐò´æ´¢

2.Ë÷Òýͨ¹ýRowKeyÖ¸ÏòÄÚÈÝΪkey/valueµÄ64kb´óСµÄblockÖС£

3.ÿ¸öblock¶¼ÓÐ×Ô¼ºÒ¶×ÓË÷Òý

4.ÿ¸öblockµÄ×îºóµÄkey·Å½øintermediate index£¨ÖмäË÷Òý£©

5.¸ùË÷ÒýÖ¸ÏòÖмäË÷Òý

trailerÖ¸ÏòÔªÊý¾Ý¿é£¬ËüдÔÚÎļþÖг־û¯Êý¾ÝµÄĩβ¡£trailerÒ²°üº¬²¼Â¡¹ýÂËÆ÷ºÍʱ¼ä·¶Î§ÐÅÏ¢¡£²¼Â¡¹ýÂËÆ÷ÓÐÖúÓÚÌø¹ý²»°üº¬Ä³¸örow keyµÄÎļþ¡£Èç¹ûʱ¼ä·¶Î§ÐÅÏ¢²»ÔÚ¶ÁÈ¡µÄʱ¼ä·¶Î§ÄÚ£¬Ôòʱ¼ä·¶Î§ÐÅÏ¢¶ÔÓÚÌø¹ý¸ÃÎļþ·Ç³£ÓÐÓá£

HFile Index

ÎÒÃǸղÅÌÖÂÛµÄË÷ÒýÊÇÔÚHFile´ò¿ª²¢±£´æÔÚÄÚ´æÖÐʱ¼ÓÔØµÄ¡£ÕâÔÊÐí²éÕÒͨ¹ýµ¥¸ö´ÅÅÌѰµÀÀ´Ö´ÐС£

HBase Read Merge

ÎÒÃÇÒѾ­¿´µ½£¬row¶ÔÓ¦µÄKeyValue cell¿ÉÒÔÔÚ¶à¸öλÖã¬row cellÒѾ­³Ö¾Ã»¯µ½HfileÖУ¬×î½ü¸üеÄcellÔÚMemStoreÖУ¬×î½ü¶ÁÈ¡µÄcellÔÚBlock CacheÖС£Òò´Ë£¬µ±¶ÁȡһÐÐÊý¾Ýʱ£¬ÏµÍ³ÊÇÈçºÎ»ñµÃÏàÓ¦µÄcell²¢·µ»ØµÄ£¿¶ÁÈ¡²Ù×÷°´ÕÕÒÔϲ½Öè´ÓBlockCache£¬MemStoreºÍHFileºÏ²¢¹Ø¼üÖµ£º

Ê×ÏÈ£¬É¨ÃèÆ÷ÔÚBlockCache£¨¶ÁÈ¡»º´æ£©ÖУ¬²éÕÒRow Cells¡£×î½ü¶ÁÈ¡µÄKey Values±»»º´æÔÚÕâÀ²¢ÇÒµ±ÐèÒªÄÚ´æÊ±£¬×î½ü×îÉÙʹÓõı»Çå³ý¡£

Æä´Î£¬É¨ÃèÆ÷ÔÚMemStoreÖвéÕÒ£¬ÄÚ´æÐ´È뻺´æ°üº¬×î½üµÄдÈë¡£

Èç¹ûɨÃèÆ÷ÔÚMenStoreºÍBlockCacheÖÐûÓÐÕÒµ½Row cells£¬È»ºóHBaseʹÓÃBLock CacheµÄHFileË÷ÒýºÍ²¼Â¡¹ýÂËÆ÷°Ñ¿ÉÄÜ´æÔÚÄ¿±êRow cellsµÄHFile¼ÓÔØµ½ÄÚ´æÖС£

HBase Read Merge

ÕýÈçÇ°ÃæËùÌÖÂ۵ģ¬Ã¿¸öMemStore¿ÉÄÜÓÐÐí¶àHFile£¬ÕâÒâζ×ŶÁȡʱ¿ÉÄÜÐèÒª¼ì²é¶à¸öHFileÎļþ£¬Õâ¿ÉÄÜ»áÓ°ÏìÐÔÄÜ¡£Õâ±»³ÆÎª¶ÁÈ¡·Å´ó¡£

HBase Minor Compaction

HBase»á×Ô¶¯Ñ¡ÔñһЩ½ÏСµÄHFile£¬²¢½«ËüÃÇÖØÐ´³É¸üÉÙÇÒ¸ü´óµÄHfiles¡£Õâ¸ö¹ý³Ì³ÆÎªMinor Compaction¡£Minor Compactionͨ¹ý½«½ÏСµÄÎļþÖØÐ´Îª½ÏÉÙµ«½Ï´óµÄÎļþÀ´¼õÉÙ´æ´¢ÎļþµÄÊýÁ¿£¬Ö´Ðкϲ¢ÅÅÐò¡£

HBase Major Compaction

Major compaction½«regionËùÓеÄHFileºÏ²¢²¢ÖØÐ´µ½Ò»¸öHFileÖУ¬Ã¿¸öÁÐ×å¶ÔÓ¦ÕâÑùµÄÒ»¸öHFile¡£²¢Ôڴ˹ý³ÌÖУ¬É¾³ýÒÑɾ³ý»ò¹ýÆÚµÄCell¡£ÕâÑùÌáÉýÁ˶ÁÈ¡ÐÔÄÜ£¬ÓÉÓÚMajor compactionÖØÐ´ÁËËùÓÐHFileÎļþ£¬Òò´ËÔڴ˹ý³ÌÖпÉÄܻᷢÉú´óÁ¿´ÅÅÌI/OºÍÍøÂçÁ÷Á¿¡£Õâ±»³ÆÎªÐ´Èë·Å´ó¡£

Major compactionÖ´Ðмƻ®¿ÉÒÔ×Ô¶¯ÔËÐС£ÓÉÓÚдÈë·Å´ó£¬Í¨³£¼Æ»®ÔÚÖÜÄ©»òÍíÉϽøÐÐMajor compaction¡£ÓÉÓÚ·þÎñÆ÷¹ÊÕÏ»ò¸ºÔØÆ½ºâ£¬Major compaction»¹»áʹÈκÎÔ¶³ÌÊý¾ÝÎļþ³ÉΪ±¾µØ·þÎñÆ÷µÄ±¾µØÊý¾ÝÎļþ¡£

Region = Contiguous Keys

¿ìËٻعËÒ»ÏÂregion:

±í¸ñ¿ÉÒÔˮƽ»®·ÖΪһ¸ö»òÕß¶à¸öregion¡£Ôçstart keyºÍend keyÖ®¼ä°üº¬Á¬ÐøµÄ£¬ÅÅÐòµÄÐз¶Î§¡£

ÿ¸öregionСΪ1GB£¨Ä¬ÈÏ£©

±íµÄregionͨ¹ýRegionServerΪ¿Í»§¶ËÌṩ·þÎñ¡£

RegionServer¿ÉÒÔÌṩ´óÔ¼1,000¸öregion£¨¿ÉÄÜÊôÓÚͬһ¸ö±í»ò²»Í¬µÄ±í£©

Region Split

×î³õÿ¸ö±í¸ñÓÐÒ»¸öÇøÓò¡£µ±Ò»¸öregion±äµÃÌ«´óʱ£¬Ëü»á·ÖÁѳÉÁ½¸ö×Óregion¡£´ú±íÔ­regionµÄÒ»°ëµÄÁ½¸ö×Óregion£¬ÔÚÏàͬµÄRegionServerÉϲ¢Ðдò¿ª£¬È»ºó½«·ÖÇø±¨¸æ¸øHMaster¡£ÓÉÓÚ¸ºÔØÆ½ºâµÄÔ­Òò£¬HMaster¿ÉÒÔ°²ÅŽ«ÐÂregionÒÆ¶¯µ½ÆäËû·þÎñÆ÷¡£

Read Load Balancing

·ÖÁÑ×î³õ·¢ÉúÔÚͬһ¸öRegionServerÉÏ£¬ÓÉÓÚ¸ºÔØÆ½ºâµÄÔ­Òò£¬HMaster¿ÉÒÔ°²ÅŽ«ÐÂregionÒÆ¶¯µ½ÆäËû·þÎñÆ÷¡£Õâµ¼ÖÂÐÂRegionServerÌṩ·þÎñµÄÊý¾ÝÀ´×ÔÔ¶³ÌHDFS½Úµã£¬Ö±µ½Major compaction½«Êý¾ÝÎļþÒÆ¶¯µ½RegionServerµÄ±¾µØ½Úµã¡£HBaseÊý¾ÝÔÚдÈëʱÊDZ¾µØÊý¾Ý£¬µ«µ±Ä³¸öÇøÓò±»Òƶ¯Ê±£¨ÎªÁ˸ºÔØÆ½ºâ»ò»Ö¸´£©£¬ÔÚMajor compaction֮ǰËü²»ÊDZ¾µØÊý¾Ý¡£

HDFS Data Replication

ËùÓеÄдÈëºÍ¶ÁÈ¡¶¼À´×ÔÖ÷½Úµã¡£HDFS¸´ÖÆWALºÍHFile¿é¡£HFile¿é¸´ÖÆ×Ô¶¯·¢Éú¡£HBaseÒÀ¿¿HDFSÔÚ´æ´¢ÎļþʱÌṩµÄÊý¾Ý°²È«ÐÔ¡£ÔÚHDFSÖÐдÈëÊý¾Ýʱ£¬±¾µØÐ´ÈëÒ»¸ö¸±±¾£¬È»ºó½«Æä¸´ÖƵ½µÚ¶þ¸ö½Úµã£¬²¢½«µÚÈý¸ö¸±±¾Ð´ÈëµÚÈý¸ö½Úµã¡£

 

HDFS Data Replication (2)

WALÎļþºÍHFilesÎļþ±»³Ö¾Ã»¯µ½´ÅÅ̲¢¸´ÖÆ£¬ÄÇôHBaseÈçºÎ»Ö¸´Ã»Óб¨³Ö¾Ã»¯µ½HFileµÄMemStore¸üÐÂÄØ£¿Çë²ÎÔÄÏÂÒ»½ÚѰÕҴ𰸡£

HBase Crash Recovery

µ±RegionServerʧ°Üʱ£¬±ÀÀ£µÄregion½«²»¿ÉÓã¬Ö±µ½¼ì²âºÍ»Ö¸´²½Öè·¢Éú¡£ Zookeeper»áÔÚʧȥÓëRegionServerÐÄÌøÐźÅʱȷ¶¨½Úµã¹ÊÕÏ¡£ HMaster½«»á±»Í¨ÖªRegion Serverʧ°Ü¡£HMaster½«»á±»Í¨ÖªRegion Serverʧ°Ü¡£

µ±HMasterÈ·¶¨RegionServerå´»úʱ£¬HMasterÖØÐ·ÖÅäå´»ú·þÎñÆ÷µÄRegionµ½»î¶¯µÄ·þÎñÆ÷¡£ÎªÁ˻ָ´å´»ú·þÎñÆ÷δˢе½´ÅÅ̵ÄmemstoreÊý¾Ý£¬HMaster½«ÊôÓÚå´»úRegionServerµÄWAL²ð·Ö³Éµ¥¶ÀµÄÎļþ²¢½«ÕâЩÎļþ´æ´¢ÔÚÐÂRegionServerµÄÊý¾Ý½ÚµãÖС£Ã¿¸öRegion ServerÈ»ºó½øÐÐÖØ²¥WAL£¬´ÓÏàÓ¦µÄWAL²ð·ÖÎļþ£¬ÎªregionÖØ½¨MemStore¡£

WALµÄÎļþ°üº¬±à¼­ÁÐ±í£¬ÆäÖÐÒ»¸ö±à¼­±íʾµ¥¸ö·ÅÖûòɾ³ý¡£Ò»¸ö±à¼­±íʾһ¸ö·ÅÖûòɾ³ý¡£±à¼­°´Ê±¼ä˳Ðò±àд£¬Òò´Ë£¬¶ÔÓڳ־û¯£¬Ìí¼ÓÄÚÈݽ«¸½¼Óµ½´æ´¢ÔÚ´ÅÅÌÉϵÄWALÎļþµÄĩβ¡£

Èç¹ûÊý¾ÝÈÔÔÚÄÚ´æÖв¢ÇÒδ±£´æµ½HFileʱ·¢Éú¹ÊÕϻᷢÉúʲô£¿WALÖØ²¥£¬Öز¥WALµÄ¹ý³ÌÊÇͨ¹ý¶ÁÈ¡WAL£¬Ìí¼Ó»òÕßÅÅÐòÒÑÖªµÄ±à¼­µ½µ±Ç°MemStore¡£×îºó£¬Memtore½«±ä»¯Ë¢Ðµ½HFile¡£

Data Recovery

Apache HBase Architecture Benefits

HBase Óŵã:

1.ǿһÖÂÐÔÄ£ÐÍ

µ±Ð´Èë·µ»ØÊ±£¬ËùÓжÁÕß½«¿´µ½ÏàͬµÄÖµ

2.×Ô¶¯À©Õ¹

Êý¾ÝÔö³¤¹ý´óʱ·Ö¸îregion

ʹÓÃHDFS´«²¥ºÍ¸´ÖÆÊý¾Ý

3.ÄÚÖûָ´»úÖÆ

ʹÓÃԤдÈÕÖ¾ (ÓëÎļþϵͳÉϵÄÈÕ¼ÇÀàËÆ)

4.¼¯³ÉHadoop

MHBaseÉϵÄMapReduceºÜ¼òµ¥

Apache HBase Has Problems Too¡­

Business continuity reliability:

1.WAL ÖØ²¥»ºÂý

2.ÒâÍâ»Ö¸´»ºÂý

3.Major Compaction I/O ·ç±©

 

   
3562 ´Îä¯ÀÀ       29
Ïà¹ØÎÄÕÂ

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

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

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