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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
Hbaseϵͳ¼Ü¹¹¼°Êý¾Ý½á¹¹
 
  3023  次浏览      27
 2012-11-13 
 

HBaseÖеıíÒ»°ãÓÐÕâÑùµÄÌØµã£º

1 ´ó£ºÒ»¸ö±í¿ÉÒÔÓÐÉÏÒÚÐУ¬ÉϰÙÍòÁÐ

2 ÃæÏòÁÐ:ÃæÏòÁÐ(×å)µÄ´æ´¢ºÍȨÏÞ¿ØÖÆ£¬ÁÐ(×å)¶ÀÁ¢¼ìË÷¡£

3 Ï¡Êè:¶ÔÓÚΪ¿Õ(null)µÄÁУ¬²¢²»Õ¼Óô洢¿Õ¼ä£¬Òò´Ë£¬±í¿ÉÒÔÉè¼ÆµÄ·Ç³£Ï¡Êè¡£

ÏÂÃæÒ»·ùͼÊÇHbaseÔÚHadoop EcosystemÖеÄλÖá£

¶þ¡¢Âß¼­ÊÓͼ

HBaseÒÔ±íµÄÐÎʽ´æ´¢Êý¾Ý¡£±íÓÐÐкÍÁÐ×é³É¡£Áл®·ÖΪÈô¸É¸öÁÐ×å(row family)

Row Key

ÓënosqlÊý¾Ý¿âÃÇÒ»Ñù,row keyÊÇÓÃÀ´¼ìË÷¼Ç¼µÄÖ÷¼ü¡£·ÃÎÊhbase tableÖеÄÐУ¬Ö»ÓÐÈýÖÖ·½Ê½£º

1 ͨ¹ýµ¥¸örow key·ÃÎÊ

2 ͨ¹ýrow keyµÄrange

3 È«±íɨÃè

Row keyÐмü (Row key)¿ÉÒÔÊÇÈÎÒâ×Ö·û´®(×î´ó³¤¶ÈÊÇ 64KB£¬Êµ¼ÊÓ¦ÓÃÖ㤶ÈÒ»°ãΪ 10-100bytes)£¬ÔÚhbaseÄÚ²¿£¬row key±£´æÎª×Ö½ÚÊý×é¡£

´æ´¢Ê±£¬Êý¾Ý°´ÕÕRow keyµÄ×ÖµäÐò(byte order)ÅÅÐò´æ´¢¡£Éè¼Ækeyʱ£¬Òª³ä·ÖÅÅÐò´æ´¢Õâ¸öÌØÐÔ£¬½«¾­³£Ò»Æð¶ÁÈ¡µÄÐд洢·Åµ½Ò»Æð¡£(λÖÃÏà¹ØÐÔ)

×¢Ò⣺

×ÖµäÐò¶ÔintÅÅÐòµÄ½á¹ûÊÇ1,10,100,11,12,13,14,15,16,17,18,19,2,20,21,¡­,9,91,92,93,94,95,96,97,98,99¡£Òª±£³ÖÕûÐεÄ×ÔÈ»Ðò£¬Ðмü±ØÐëÓÃ0×÷×óÌî³ä¡£

ÐеÄÒ»´Î¶ÁдÊÇÔ­×Ó²Ù×÷ (²»ÂÛÒ»´Î¶Áд¶àÉÙÁÐ)¡£Õâ¸öÉè¼Æ¾ö²ßÄܹ»Ê¹Óû§ºÜÈÝÒ×µÄÀí½â³ÌÐòÔÚ¶Ôͬһ¸öÐнøÐв¢·¢¸üвÙ×÷ʱµÄÐÐΪ¡£

ÁÐ×å

hbase±íÖеÄÿ¸öÁУ¬¶¼¹éÊôÓëij¸öÁÐ×å¡£ÁÐ×åÊDZíµÄchemaµÄÒ»²¿·Ö(¶øÁв»ÊÇ)£¬±ØÐëÔÚʹÓñí֮ǰ¶¨Òå¡£ÁÐÃû¶¼ÒÔÁÐ×å×÷Ϊǰ׺¡£ÀýÈçcourses:history£¬courses:math¶¼ÊôÓÚcourses Õâ¸öÁÐ×å¡£

·Ã ÎÊ¿ØÖÆ¡¢´ÅÅ̺ÍÄÚ´æµÄʹÓÃͳ¼Æ¶¼ÊÇÔÚÁÐ×å²ãÃæ½øÐеġ£Êµ¼ÊÓ¦ÓÃÖУ¬ÁÐ×åÉϵĿØÖÆÈ¨ÏÞÄܰïÖúÎÒÃǹÜÀí²»Í¬ÀàÐ͵ÄÓ¦ÓãºÎÒÃÇÔÊÐíһЩӦÓÿÉÒÔÌí¼ÓеĻù±¾Êý ¾Ý¡¢Ò»Ð©Ó¦ÓÿÉÒÔ¶ÁÈ¡»ù±¾Êý¾Ý²¢´´½¨¼Ì³ÐµÄÁÐ×塢һЩӦÓÃÔòÖ»ÔÊÐíä¯ÀÀÊý¾Ý£¨ÉõÖÁ¿ÉÄÜÒòΪÒþ˽µÄÔ­Òò²»ÄÜä¯ÀÀËùÓÐÊý¾Ý£©¡£

ʱ¼ä´Á

HBase ÖÐͨ¹ýrowºÍcolumnsÈ·¶¨µÄΪһ¸ö´æÖüµ¥Ôª³ÆÎªcell¡£Ã¿¸ö cell¶¼±£´æ×Åͬһ·ÝÊý¾ÝµÄ¶à¸ö°æ±¾¡£°æ±¾Í¨¹ýʱ¼ä´ÁÀ´Ë÷Òý¡£Ê±¼ä´ÁµÄÀàÐÍÊÇ 64λÕûÐÍ¡£Ê±¼ä´Á¿ÉÒÔÓÉhbase(ÔÚÊý¾ÝдÈëʱ×Ô¶¯ )¸³Öµ£¬´Ëʱʱ¼ä´ÁÊǾ«È·µ½ºÁÃëµÄµ±Ç°ÏµÍ³Ê±¼ä¡£Ê±¼ä´ÁÒ²¿ÉÒÔÓɿͻ§ÏÔʽ¸³Öµ¡£Èç¹ûÓ¦ÓóÌÐòÒª±ÜÃâÊý¾Ý°æ±¾³åÍ»£¬¾Í±ØÐë×Ô¼ºÉú³É¾ßÓÐΨһÐÔµÄʱ¼ä´Á¡£Ã¿¸ö cellÖУ¬²»Í¬°æ±¾µÄÊý¾Ý°´ÕÕʱ¼äµ¹ÐòÅÅÐò£¬¼´×îеÄÊý¾ÝÅÅÔÚ×îÇ°Ãæ¡£

ΪÁ˱ÜÃâÊý¾Ý´æÔÚ¹ý¶à°æ±¾Ôì³ÉµÄµÄ¹ÜÀí (°üÀ¨´æÖüºÍË÷Òý)¸ºµ££¬hbaseÌṩÁËÁ½ÖÖÊý¾Ý°æ±¾»ØÊÕ·½Ê½¡£Ò»ÊDZ£´æÊý¾ÝµÄ×îºón¸ö°æ±¾£¬¶þÊDZ£´æ×î½üÒ»¶Îʱ¼äÄڵİ汾£¨±ÈÈç×î½üÆßÌ죩¡£Óû§¿ÉÒÔÕë¶Ôÿ¸öÁÐ×å½øÐÐÉèÖá£

Cell

ÓÉ{row key, column(= + ), version} Ψһȷ¶¨µÄµ¥Ôª¡£cellÖеÄÊý¾ÝÊÇûÓÐÀàÐ͵ģ¬È«²¿ÊÇ×Ö½ÚÂëÐÎʽ´æÖü¡£

Èý¡¢ÎïÀí´æ´¢

1 ÒѾ­Ìáµ½¹ý£¬TableÖеÄËùÓÐÐж¼°´ÕÕrow keyµÄ×ÖµäÐòÅÅÁС£

2 Table ÔÚÐеķ½ÏòÉÏ·Ö¸îΪ¶à¸öHregion¡£

3 region°´´óС·Ö¸îµÄ£¬Ã¿¸ö±íÒ»¿ªÊ¼Ö»ÓÐÒ»¸öregion£¬Ëæ×ÅÊý¾Ý²»¶Ï²åÈë±í£¬region²»¶ÏÔö´ó£¬µ±Ôö´óµ½Ò»¸ö·§ÖµµÄʱºò£¬Hregion¾Í»áµÈ·Ö»áÁ½¸öеÄHregion¡£µ±tableÖеÄÐв»¶ÏÔö¶à£¬¾Í»áÓÐÔ½À´Ô½¶àµÄHregion¡£

4 HRegionÊÇHbaseÖзֲ¼Ê½´æ´¢ºÍ¸ºÔؾùºâµÄ×îСµ¥Ôª¡£×îСµ¥Ôª¾Í±íʾ²»Í¬µÄHregion¿ÉÒÔ·Ö²¼ÔÚ²»Í¬µÄHRegion serverÉÏ¡£µ«Ò»¸öHregionÊDz»»á²ð·Öµ½¶à¸öserverÉϵġ£

5 HRegionËäÈ»ÊÇ·Ö²¼Ê½´æ´¢µÄ×îСµ¥Ôª£¬µ«²¢²»ÊÇ´æ´¢µÄ×îСµ¥Ôª¡£

ÊÂʵÉÏ£¬HRegionÓÉÒ»¸ö»òÕß¶à¸öStore×é³É£¬Ã¿¸östore±£´æÒ»¸öcolumns family¡£

ÿ¸öStroreÓÖÓÉÒ»¸ömemStoreºÍ0ÖÁ¶à¸öStoreFile×é³É¡£Èçͼ£º

StoreFileÒÔHFile¸ñʽ±£´æÔÚHDFSÉÏ¡£

HFileµÄ¸ñʽΪ£º

HFile·ÖΪÁù¸ö²¿·Ö£º

Data Block ¶Î¨C±£´æ±íÖеÄÊý¾Ý£¬Õⲿ·Ö¿ÉÒÔ±»Ñ¹Ëõ

Meta Block ¶Î (¿ÉÑ¡µÄ)¨C±£´æÓû§×Ô¶¨ÒåµÄkv¶Ô£¬¿ÉÒÔ±»Ñ¹Ëõ¡£

File Info ¶Î¨CHfileµÄÔªÐÅÏ¢£¬²»±»Ñ¹Ëõ£¬Óû§Ò²¿ÉÒÔÔÚÕâÒ»²¿·ÖÌí¼Ó×Ô¼ºµÄÔªÐÅÏ¢¡£

Data Block Index ¶Î¨CData BlockµÄË÷Òý¡£Ã¿ÌõË÷ÒýµÄkeyÊDZ»Ë÷ÒýµÄblockµÄµÚÒ»Ìõ¼Ç¼µÄkey¡£

Meta Block Index¶Î (¿ÉÑ¡µÄ)¨CMeta BlockµÄË÷Òý¡£

Trailer¨C ÕâÒ»¶ÎÊǶ¨³¤µÄ¡£±£´æÁËÿһ¶ÎµÄÆ«ÒÆÁ¿£¬¶Áȡһ¸öHFileʱ£¬»áÊ×ÏȶÁÈ¡Trailer£¬Trailer±£´æÁËÿ¸ö¶ÎµÄÆðʼλÖÃ(¶ÎµÄMagic NumberÓÃÀ´×ö°²È«check)£¬È»ºó£¬DataBlock Index»á±»¶ÁÈ¡µ½ÄÚ´æÖУ¬ÕâÑù£¬µ±¼ìË÷ij¸ökeyʱ£¬²»ÐèҪɨÃèÕû¸öHFile£¬¶øÖ»Ðè´ÓÄÚ´æÖÐÕÒµ½keyËùÔÚµÄblock£¬Í¨¹ýÒ»´Î´ÅÅÌio½«Õû¸ö block¶ÁÈ¡µ½ÄÚ´æÖУ¬ÔÙÕÒµ½ÐèÒªµÄkey¡£DataBlock Index²ÉÓÃLRU»úÖÆÌÔÌ­¡£

HFileµÄData Block£¬Meta Blockͨ³£²ÉÓÃѹËõ·½Ê½´æ´¢£¬Ñ¹ËõÖ®ºó¿ÉÒÔ´ó´ó¼õÉÙÍøÂçIOºÍ´ÅÅÌIO£¬ËæÖ®¶øÀ´µÄ¿ªÏúµ±È»ÊÇÐèÒª»¨·Ñcpu½øÐÐѹËõºÍ½âѹËõ¡£

Ä¿±êHfileµÄѹËõÖ§³ÖÁ½ÖÖ·½Ê½£ºGzip£¬Lzo¡£

HLog(WAL log)

WAL ÒâΪWrite ahead log(http://en.wikipedia.org/wiki/Write-ahead_logging)£¬ÀàËÆmysqlÖеÄbinlog,ÓÃÀ´ ×öÔÖÄѻָ´Ö»Óã¬Hlog¼Ç¼Êý¾ÝµÄËùÓбä¸ü,Ò»µ©Êý¾ÝÐ޸ģ¬¾Í¿ÉÒÔ´ÓlogÖнøÐлָ´¡£

ÿ ¸öRegion Serverά»¤Ò»¸öHlog,¶ø²»ÊÇÿ¸öRegionÒ»¸ö¡£ÕâÑù²»Í¬region(À´×Ô²»Í¬table)µÄÈÕÖ¾»á»ìÔÚÒ»Æð£¬ÕâÑù×öµÄÄ¿µÄÊDz»¶Ï×·¼Óµ¥¸ö ÎļþÏà¶ÔÓÚͬʱд¶à¸öÎļþ¶øÑÔ£¬¿ÉÒÔ¼õÉÙ´ÅÅÌѰַ´ÎÊý£¬Òò´Ë¿ÉÒÔÌá¸ß¶ÔtableµÄдÐÔÄÜ¡£´øÀ´µÄÂé·³ÊÇ£¬Èç¹ûһ̨region serverÏÂÏߣ¬ÎªÁ˻ָ´ÆäÉϵÄregion£¬ÐèÒª½«region serverÉϵÄlog½øÐвð·Ö£¬È»ºó·Ö·¢µ½ÆäËüregion serverÉϽøÐлָ´¡£

HLog Îļþ¾ÍÊÇÒ»¸öÆÕͨµÄHadoop Sequence File£¬Sequence File µÄKeyÊÇHLogKey¶ÔÏó£¬HLogKeyÖмǼÁËдÈëÊý¾ÝµÄ¹éÊôÐÅÏ¢£¬³ýÁËtableºÍregionÃû×ÖÍ⣬ͬʱ»¹°üÀ¨ sequence numberºÍtimestamp£¬timestampÊÇ¡±Ð´Èëʱ¼ä¡±£¬sequence numberµÄÆðʼֵΪ0£¬»òÕßÊÇ×î½üÒ»´Î´æÈëÎļþϵͳÖÐsequence number¡£HLog Sequece FileµÄValueÊÇHBaseµÄKeyValue¶ÔÏ󣬼´¶ÔÓ¦HFileÖеÄKeyValue£¬¿É²Î¼ûÉÏÎÄÃèÊö¡£

ËÄ¡¢ÏµÍ³¼Ü¹¹

Client

1 °üº¬·ÃÎÊhbaseµÄ½Ó¿Ú£¬clientά»¤×ÅһЩcacheÀ´¼Ó¿ì¶ÔhbaseµÄ·ÃÎÊ£¬±ÈÈçregioneµÄλÖÃÐÅÏ¢¡£

Zookeeper

1 ±£Ö¤ÈκÎʱºò£¬¼¯ÈºÖÐÖ»ÓÐÒ»¸ömaster

2 ´æÖüËùÓÐRegionµÄѰַÈë¿Ú¡£

3 ʵʱ¼à¿ØRegion ServerµÄ״̬£¬½«Region serverµÄÉÏÏߺÍÏÂÏßÐÅϢʵʱ֪ͨ¸øMaster

4 ´æ´¢HbaseµÄschema,°üÀ¨ÓÐÄÄЩtable£¬Ã¿¸ötableÓÐÄÄЩcolumn family

Master

1 ΪRegion server·ÖÅäregion

2 ¸ºÔðregion serverµÄ¸ºÔؾùºâ

3 ·¢ÏÖʧЧµÄregion server²¢ÖØÐ·ÖÅäÆäÉϵÄregion

4 GFSÉϵÄÀ¬»øÎļþ»ØÊÕ

5 ´¦Àíschema¸üÐÂÇëÇó

Region Server

1 Region serverά»¤Master·ÖÅ䏸ËüµÄregion£¬´¦Àí¶ÔÕâЩregionµÄIOÇëÇó

2 Region server¸ºÔðÇзÖÔÚÔËÐйý³ÌÖбäµÃ¹ý´óµÄregion

¿ÉÒÔ¿´µ½£¬client·ÃÎÊhbaseÉÏÊý¾ÝµÄ¹ý³Ì²¢²»ÐèÒªmaster²ÎÓ루Ѱַ·ÃÎÊzookeeperºÍregion server£¬Êý¾Ý¶Áд·ÃÎÊregione server£©£¬master½ö½öά»¤ÕßtableºÍregionµÄÔªÊý¾ÝÐÅÏ¢£¬¸ºÔغܵ͡£

Îå¡¢¹Ø¼üËã·¨/Á÷³Ì

region¶¨Î»

ϵͳÈçºÎÕÒµ½Ä³¸örow key (»òÕßij¸ö row key range)ËùÔÚµÄregion

bigtable ʹÓÃÈý²ãÀàËÆB+Ê÷µÄ½á¹¹À´±£´æregionλÖá£

µÚÒ»²ãÊDZ£´æzookeeperÀïÃæµÄÎļþ£¬Ëü³ÖÓÐroot regionµÄλÖá£

µÚ¶þ²ãroot regionÊÇ.META.±íµÄµÚÒ»¸öregionÆäÖб£´æÁË.META.z±íÆäËüregionµÄλÖá£Í¨¹ýroot region£¬ÎÒÃǾͿÉÒÔ·ÃÎÊ.META.±íµÄÊý¾Ý¡£

.META.ÊǵÚÈý²ã£¬ËüÊÇÒ»¸öÌØÊâµÄ±í£¬±£´æÁËhbaseÖÐËùÓÐÊý¾Ý±íµÄregion λÖÃÐÅÏ¢¡£

˵Ã÷£º

1 root regionÓÀÔ¶²»»á±»split£¬±£Ö¤ÁË×îÐèÒªÈý´ÎÌø×ª£¬¾ÍÄܶ¨Î»µ½ÈÎÒâregion ¡£

2.META.±íÿÐб£´æÒ»¸öregionµÄλÖÃÐÅÏ¢£¬row key ²ÉÓñíÃû+±íµÄ×îºóÒ»Ñù±àÂë¶ø³É¡£

3 ΪÁ˼ӿì·ÃÎÊ£¬.META.±íµÄÈ«²¿region¶¼±£´æÔÚÄÚ´æÖС£

¼ÙÉ裬.META.±íµÄÒ»ÐÐÔÚÄÚ´æÖдóÔ¼Õ¼ÓÃ1KB¡£²¢ÇÒÿ¸öregionÏÞÖÆÎª128MB¡£

ÄÇôÉÏÃæµÄÈý²ã½á¹¹¿ÉÒÔ±£´æµÄregionÊýĿΪ£º

(128MB/1KB) * (128MB/1KB) = = 2(34)¸öregion

4 client»á½«²éѯ¹ýµÄλÖÃÐÅÏ¢±£´æ»º´æÆðÀ´£¬»º´æ²»»áÖ÷¶¯Ê§Ð§£¬Òò´ËÈç¹ûclientÉϵĻº´æÈ«²¿Ê§Ð§£¬ÔòÐèÒª½øÐÐ6´ÎÍøÂçÀ´»Ø£¬²ÅÄܶ¨Î»µ½ÕýÈ·µÄregion(ÆäÖÐÈý´ÎÓÃÀ´·¢ÏÖ»º´æÊ§Ð§£¬ÁíÍâÈý´ÎÓÃÀ´»ñȡλÖÃÐÅÏ¢)¡£

¶Áд¹ý³Ì

ÉÏÎÄÌáµ½£¬hbaseʹÓÃMemStoreºÍStoreFile´æ´¢¶Ô±íµÄ¸üС£

Êý ¾ÝÔÚ¸üÐÂʱÊ×ÏÈдÈëLog(WAL log)ºÍÄÚ´æ(MemStore)ÖУ¬MemStoreÖеÄÊý¾ÝÊÇÅÅÐòµÄ£¬µ±MemStoreÀۼƵ½Ò»¶¨ãÐֵʱ£¬¾Í»á´´½¨Ò»¸öеÄMemStore£¬²¢ ÇÒ½«ÀϵÄMemStoreÌí¼Óµ½flush¶ÓÁУ¬Óɵ¥¶ÀµÄÏß³Ìflushµ½´ÅÅÌÉÏ£¬³ÉΪһ¸öStoreFile¡£ÓÚ´Ëͬʱ£¬ÏµÍ³»áÔÚzookeeperÖÐ ¼Ç¼һ¸öredo point£¬±íʾÕâ¸öʱ¿Ì֮ǰµÄ±ä¸üÒѾ­³Ö¾Ã»¯ÁË¡£(minor compact)

µ±ÏµÍ³³öÏÖÒâÍâʱ£¬¿ÉÄܵ¼ÖÂÄÚ´æ(MemStore)ÖеÄÊý¾Ý¶ªÊ§£¬´ËʱʹÓÃLog(WAL log)À´»Ö¸´checkpointÖ®ºóµÄÊý¾Ý¡£

Ç°ÃæÌáµ½¹ýStoreFileÊÇÖ»¶ÁµÄ£¬Ò»µ©´´½¨ºó¾Í²»¿ÉÒÔÔÙÐ޸ġ£Òò´ËHbaseµÄ¸üÐÂÆäʵÊDz»¶Ï×·¼ÓµÄ²Ù×÷¡£µ±Ò»¸öStoreÖеÄStoreFile´ïµ½Ò»¶¨µÄãÐÖµºó£¬¾Í»á½øÐÐÒ»´ÎºÏ²¢(major compact),½«¶Ôͬһ¸ökeyµÄÐ޸ĺϲ¢µ½Ò»Æð£¬ÐγÉÒ»¸ö´óµÄStoreFile£¬µ±StoreFileµÄ´óС´ïµ½Ò»¶¨ãÐÖµºó£¬ÓÖ»á¶ÔStoreFile½øÐÐsplit£¬µÈ·ÖΪÁ½¸öStoreFile¡£

ÓÉÓÚ¶Ô±íµÄ¸üÐÂÊDz»¶Ï×·¼ÓµÄ£¬´¦Àí¶ÁÇëÇóʱ£¬ÐèÒª·ÃÎÊStoreÖÐÈ«²¿µÄStoreFileºÍMemStore£¬½«ËûÃǵİ´ÕÕrow key½øÐкϲ¢£¬ÓÉÓÚStoreFileºÍMemStore¶¼ÊǾ­¹ýÅÅÐòµÄ£¬²¢ÇÒStoreFile´øÓÐÄÚ´æÖÐË÷Òý£¬ºÏ²¢µÄ¹ý³Ì»¹ÊDZȽϿ졣

дÇëÇó´¦Àí¹ý³Ì

1 clientÏòregion serverÌύдÇëÇó

2 region serverÕÒµ½Ä¿±êregion

3 region¼ì²éÊý¾ÝÊÇ·ñÓëschemaÒ»ÖÂ

4 Èç¹û¿Í»§¶ËûÓÐÖ¸¶¨°æ±¾£¬Ôò»ñÈ¡µ±Ç°ÏµÍ³Ê±¼ä×÷ΪÊý¾Ý°æ±¾

5 ½«¸üÐÂдÈëWAL log

6 ½«¸üÐÂдÈëMemstore

7 ÅжÏMemstoreµÄÊÇ·ñÐèÒªflushΪStoreÎļþ¡£

region·ÖÅä

ÈκÎʱ¿Ì£¬Ò»¸öregionÖ»ÄÜ·ÖÅä¸øÒ»¸öregion server¡£master¼Ç¼Á˵±Ç°ÓÐÄÄЩ¿ÉÓõÄregion server¡£ÒÔ¼°µ±Ç°ÄÄЩregion·ÖÅ䏸ÁËÄÄЩregion server£¬ÄÄЩregion»¹Ã»ÓзÖÅä¡£µ±´æÔÚδ·ÖÅäµÄregion£¬²¢ÇÒÓÐÒ»¸öregion serverÉÏÓпÉÓÿռäʱ£¬master¾Í¸øÕâ¸öregion server·¢ËÍÒ»¸ö×°ÔØÇëÇ󣬰Ñregion·ÖÅ䏸Õâ¸öregion server¡£region serverµÃµ½ÇëÇóºó£¬¾Í¿ªÊ¼¶Ô´ËregionÌṩ·þÎñ¡£

region serverÉÏÏß

master ʹÓÃzookeeperÀ´¸ú×Ùregion server״̬¡£µ±Ä³¸öregion serverÆô¶¯Ê±£¬»áÊ×ÏÈÔÚzookeeperÉϵÄserverĿ¼Ï½¨Á¢´ú±í×Ô¼ºµÄÎļþ£¬²¢»ñµÃ¸ÃÎļþµÄ¶ÀÕ¼Ëø¡£ÓÉÓÚmaster¶©ÔÄÁËserver Ŀ¼Éϵıä¸üÏûÏ¢£¬µ±serverĿ¼ÏµÄÎļþ³öÏÖÐÂÔö»òɾ³ý²Ù×÷ʱ£¬master¿ÉÒԵõ½À´×ÔzookeeperµÄʵʱ֪ͨ¡£Òò´ËÒ»µ©region serverÉÏÏߣ¬masterÄÜÂíÉϵõ½ÏûÏ¢¡£

region serverÏÂÏß

µ±region serverÏÂÏßʱ£¬ËüºÍzookeeperµÄ»á»°¶Ï¿ª£¬zookeeper¶ø×Ô¶¯ÊÍ·Å´ú±íÕą̂serverµÄÎļþÉϵĶÀÕ¼Ëø¡£¶ømaster²»¶ÏÂÖѯ serverĿ¼ÏÂÎļþµÄËø×´Ì¬¡£Èç¹ûmaster·¢ÏÖij¸öregion server¶ªÊ§ÁËËü×Ô¼ºµÄ¶ÀÕ¼Ëø£¬(»òÕßmasterÁ¬Ðø¼¸´ÎºÍregion serverͨÐŶ¼ÎÞ·¨³É¹¦),master¾ÍÊdz¢ÊÔÈ¥»ñÈ¡´ú±íÕâ¸öregion serverµÄ¶ÁÐ´Ëø£¬Ò»µ©»ñÈ¡³É¹¦£¬¾Í¿ÉÒÔÈ·¶¨£º

1 region serverºÍzookeeperÖ®¼äµÄÍøÂç¶Ï¿ªÁË¡£

2 region server¹ÒÁË¡£

µÄÆäÖÐÒ»ÖÖÇé¿ö·¢ÉúÁË£¬ÎÞÂÛÄÄÖÖÇé¿ö£¬region server¶¼ÎÞ·¨¼ÌÐøÎªËüµÄregionÌṩ·þÎñÁË£¬´Ëʱmaster»áɾ³ýserverĿ¼Ï´ú±íÕą̂region serverµÄÎļþ£¬²¢½«Õą̂region serverµÄregion·ÖÅ䏸ÆäËü»¹»î×ŵÄͬ־¡£

Èç¹ûÍøÂç¶ÌÔݳöÏÖÎÊÌâµ¼ÖÂregion server¶ªÊ§ÁËËüµÄËø£¬ÄÇôregion serverÖØÐÂÁ¬½Óµ½zookeeperÖ®ºó£¬Ö»Òª´ú±íËüµÄÎļþ»¹ÔÚ£¬Ëü¾Í»á²»¶Ï³¢ÊÔ»ñÈ¡Õâ¸öÎļþÉϵÄËø£¬Ò»µ©»ñÈ¡µ½ÁË£¬¾Í¿ÉÒÔ¼ÌÐøÌṩ·þÎñ¡£

masterÉÏÏß

masterÆô¶¯½øÐÐÒÔϲ½Öè:

1 ´ÓzookeeperÉÏ»ñȡΨһһ¸ö´úÂëmasterµÄËø£¬ÓÃÀ´×èÖ¹ÆäËümaster³ÉΪmaster¡£

2 ɨÃèzookeeperÉϵÄserverĿ¼£¬»ñµÃµ±Ç°¿ÉÓõÄregion serverÁÐ±í¡£

3 ºÍ2ÖеÄÿ¸öregion serverͨÐÅ£¬»ñµÃµ±Ç°ÒÑ·ÖÅäµÄregionºÍregion serverµÄ¶ÔÓ¦¹ØÏµ¡£

4 ɨÃè.META.regionµÄ¼¯ºÏ£¬¼ÆËãµÃµ½µ±Ç°»¹Î´·ÖÅäµÄregion£¬½«ËûÃÇ·ÅÈë´ý·ÖÅäregionÁÐ±í¡£

masterÏÂÏß

ÓÉ ÓÚmasterֻά»¤±íºÍregionµÄÔªÊý¾Ý£¬¶ø²»²ÎÓë±íÊý¾ÝIOµÄ¹ý³Ì£¬masterÏÂÏß½öµ¼ÖÂËùÓÐÔªÊý¾ÝµÄÐ޸ı»¶³½á(ÎÞ·¨´´½¨É¾³ý±í£¬ÎÞ·¨ÐÞ¸Ä±í µÄschema£¬ÎÞ·¨½øÐÐregionµÄ¸ºÔؾùºâ£¬ÎÞ·¨´¦ÀíregionÉÏÏÂÏߣ¬ÎÞ·¨½øÐÐregionµÄºÏ²¢£¬Î¨Ò»ÀýÍâµÄÊÇregionµÄsplit¿ÉÒÔ Õý³£½øÐУ¬ÒòΪֻÓÐregion server²ÎÓë)£¬±íµÄÊý¾Ý¶Áд»¹¿ÉÒÔÕý³£½øÐС£Òò´ËmasterÏÂÏß¶Ìʱ¼äÄÚ¶ÔÕû¸öhbase¼¯ÈºÃ»ÓÐÓ°Ïì¡£´ÓÉÏÏß¹ý³Ì¿ÉÒÔ¿´µ½£¬master±£´æµÄ ÐÅϢȫÊÇ¿ÉÒÔÈßÓàÐÅÏ¢£¨¶¼¿ÉÒÔ´ÓϵͳÆäËüµØ·½ÊÕ¼¯µ½»òÕß¼ÆËã³öÀ´£©£¬Òò´Ë£¬Ò»°ãhbase¼¯ÈºÖÐ×ÜÊÇÓÐÒ»¸ömasterÔÚÌṩ·þÎñ£¬»¹ÓÐÒ»¸öÒÔÉÏ µÄ¡¯master¡¯Ôڵȴýʱ»úÇÀÕ¼ËüµÄλÖá£

Áù¡¢·ÃÎʽӿÚ

Æß¡¢½áÓ

È«ÎĶÔHbase×öÁ˼òµ¥µÄ½éÉÜ£¬ÓдíÎóÖ®´¦£¬¾´ÇëÖ¸Õý¡£Î´À´½«½áºÏHbaseÔÚÌÔ±¦Êý¾Ýƽ̨µÄÓ¦Óó¡¾°£¬ÔÚ¸ü¶àϸ½ÚÉϽøÐÐÉîÈë¡£

²Î¿¼Îĵµ

Bigtable: A Distributed Storage System for Structured Data

HFile: A Block-Indexed File Format to Store Sorted Key-Value Pairs for a thorough introduction Hbase Architecture 101

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

ÆóÒµ¼Ü¹¹¡¢TOGAFÓëArchiMate¸ÅÀÀ
¼Ü¹¹Ê¦Ö®Â·-ÈçºÎ×öºÃÒµÎñ½¨Ä££¿
´óÐÍÍøÕ¾µçÉÌÍøÕ¾¼Ü¹¹°¸ÀýºÍ¼¼Êõ¼Ü¹¹µÄʾÀý
ÍêÕûµÄArchimateÊÓµãÖ¸ÄÏ£¨°üÀ¨Ê¾Àý£©
Ïà¹ØÎĵµ

Êý¾ÝÖÐ̨¼¼Êõ¼Ü¹¹·½·¨ÂÛÓëʵ¼ù
ÊÊÓÃArchiMate¡¢EA ºÍ iSpace½øÐÐÆóÒµ¼Ü¹¹½¨Ä£
ZachmanÆóÒµ¼Ü¹¹¿ò¼Ü¼ò½é
ÆóÒµ¼Ü¹¹ÈÃSOAÂ䵨
Ïà¹Ø¿Î³Ì

ÔÆÆ½Ì¨Óë΢·þÎñ¼Ü¹¹Éè¼Æ
ÖÐ̨սÂÔ¡¢ÖÐ̨½¨ÉèÓëÊý×ÖÉÌÒµ
ÒÚ¼¶Óû§¸ß²¢·¢¡¢¸ß¿ÉÓÃϵͳ¼Ü¹¹
¸ß¿ÉÓ÷ֲ¼Ê½¼Ü¹¹Éè¼ÆÓëʵ¼ù