±à¼ÍƼö: |
±¾ÎÄÀ´×ÔÓÚ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 ·ç±©
|