锘??xml version="1.0" encoding="utf-8" standalone="yes"?>久久精品免费全国观看国产,久久精品国产精品亚洲人人 ,久久99精品国产http://m.shnenglu.com/mysileng/category/20477.htmlzh-cnSat, 08 Jun 2013 09:23:48 GMTSat, 08 Jun 2013 09:23:48 GMT60HBase綆浠嬶紙寰堝ソ鐨勬⒊鐞嗚祫鏂欙級http://m.shnenglu.com/mysileng/archive/2013/06/07/200856.html閼緳閼緳Fri, 07 Jun 2013 14:14:00 GMThttp://m.shnenglu.com/mysileng/archive/2013/06/07/200856.htmlhttp://m.shnenglu.com/mysileng/comments/200856.htmlhttp://m.shnenglu.com/mysileng/archive/2013/06/07/200856.html#Feedback0http://m.shnenglu.com/mysileng/comments/commentRss/200856.htmlhttp://m.shnenglu.com/mysileng/services/trackbacks/200856.html

涓銆?/strong> 綆浠?/strong>

history

started by chad walters and jim

2006.11 G release paper on BigTable

2007.2 inital HBase prototype created as Hadoop contrib

2007.10 First useable Hbase

2008.1 Hadoop become Apache top-level project and Hbase becomes subproject

2008.10 Hbase 0.18,0.19 released

 

hbase鏄痓igtable鐨勫紑婧愬北瀵ㄧ増鏈傛槸寤虹珛鐨刪dfs涔嬩笂錛屾彁渚涢珮鍙潬鎬с侀珮鎬ц兘銆佸垪瀛樺偍銆佸彲浼哥緝銆佸疄鏃惰鍐欑殑鏁版嵁搴撶郴緇熴?/p>

瀹冧粙浜巒osql鍜孯DBMS涔嬮棿錛屼粎鑳介氳繃涓婚敭(row key)鍜屼富閿殑range鏉ユ绱㈡暟鎹紝浠呮敮鎸佸崟琛屼簨鍔?鍙氳繃hive鏀寔鏉ュ疄鐜板琛╦oin絳夊鏉傛搷浣?銆備富瑕佺敤鏉ュ瓨鍌ㄩ潪緇撴瀯鍖栧拰鍗婄粨鏋勫寲鐨勬澗鏁f暟鎹?/p>

涓巋adoop涓鏍鳳紝Hbase鐩爣涓昏渚濋潬妯悜鎵╁睍錛岄氳繃涓嶆柇澧炲姞寤変環鐨勫晢鐢ㄦ湇鍔″櫒錛屾潵澧炲姞璁$畻鍜屽瓨鍌ㄨ兘鍔涖?/p>

 

HBase涓殑琛ㄤ竴鑸湁榪欐牱鐨勭壒鐐癸細

1 澶э細涓涓〃鍙互鏈変笂浜胯錛屼笂鐧句竾鍒?/p>

2 闈㈠悜鍒?闈㈠悜鍒?鏃?鐨勫瓨鍌ㄥ拰鏉冮檺鎺у埗錛屽垪(鏃?鐙珛媯绱€?/p>

3 紼鐤?瀵逛簬涓虹┖(null)鐨勫垪錛屽茍涓嶅崰鐢ㄥ瓨鍌ㄧ┖闂達紝鍥犳錛岃〃鍙互璁捐鐨勯潪甯哥█鐤忋?/p>

 

涓嬮潰涓騫呭浘鏄疕base鍦℉adoop Ecosystem涓殑浣嶇疆銆?/p>




浜屻?/strong> 閫昏緫瑙嗗浘


HBase浠ヨ〃鐨勫艦寮忓瓨鍌ㄦ暟鎹傝〃鏈夎鍜屽垪緇勬垚銆傚垪鍒掑垎涓鴻嫢騫蹭釜鍒楁棌(row family)

Row Keycolumn-family1column-family2column-family3
column1column1column1column2column3column1
key1t1:abc
t2:gdxdf
t4:dfads
t3:hello
t2:world
key2t3:abc
t1:gdxdf
t4:dfads
t3:hello
t2:dfdsfa
t3:dfdf
key3t2:dfadfasd
t1:dfdasddsf
t2:dfxxdfasd

t1:taobao.com

 

Row Key

涓巒osql鏁版嵁搴撲滑涓鏍?row key鏄敤鏉ユ绱㈣褰曠殑涓婚敭銆傝闂甴base table涓殑琛岋紝鍙湁涓夌鏂瑰紡錛?/p>

1 閫氳繃鍗曚釜row key璁塊棶

2 閫氳繃row key鐨剅ange

3 鍏ㄨ〃鎵弿

Row key琛岄敭 (Row key)鍙互鏄換鎰忓瓧絎︿覆(鏈澶ч暱搴︽槸 64KB錛屽疄闄呭簲鐢ㄤ腑闀垮害涓鑸負 10-100bytes)錛屽湪hbase鍐呴儴錛宺ow key淇濆瓨涓哄瓧鑺傛暟緇勩?/p>

瀛樺偍鏃訛紝鏁版嵁鎸夌収Row key鐨勫瓧鍏稿簭(byte order)鎺掑簭瀛樺偍銆傝璁ey鏃訛紝瑕佸厖鍒嗘帓搴忓瓨鍌ㄨ繖涓壒鎬э紝灝嗙粡甯鎬竴璧瘋鍙栫殑琛屽瓨鍌ㄦ斁鍒頒竴璧楓?浣嶇疆鐩稿叧鎬?

娉ㄦ剰錛?/p>

瀛楀吀搴忓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浣滃乏濉厖銆?/p>

琛岀殑涓嬈¤鍐欐槸鍘熷瓙鎿嶄綔 (涓嶈涓嬈¤鍐欏灝戝垪)銆傝繖涓璁″喅絳栬兘澶熶嬌鐢ㄦ埛寰堝鏄撶殑鐞嗚В紼嬪簭鍦ㄥ鍚屼竴涓榪涜騫跺彂鏇存柊鎿嶄綔鏃剁殑琛屼負銆?/p>

 

鍒楁棌

hbase琛ㄤ腑鐨勬瘡涓垪錛岄兘褰掑睘涓庢煇涓垪鏃忋傚垪鏃忔槸琛ㄧ殑chema鐨勪竴閮ㄥ垎(鑰屽垪涓嶆槸)錛屽繀欏誨湪浣跨敤琛ㄤ箣鍓嶅畾涔夈傚垪鍚嶉兘浠ュ垪鏃忎綔涓哄墠緙銆備緥濡?em>courses:history 錛?/em> courses:math 閮藉睘浜?/em> courses 榪欎釜鍒楁棌銆?/p>

璁塊棶鎺у埗銆佺鐩樺拰鍐呭瓨鐨勪嬌鐢ㄧ粺璁¢兘鏄湪鍒楁棌灞傞潰榪涜鐨勩傚疄闄呭簲鐢ㄤ腑錛屽垪鏃忎笂鐨勬帶鍒舵潈闄愯兘 甯姪鎴戜滑綆$悊涓嶅悓綾誨瀷鐨勫簲鐢細鎴戜滑鍏佽涓浜涘簲鐢ㄥ彲浠ユ坊鍔犳柊鐨勫熀鏈暟鎹佷竴浜涘簲鐢ㄥ彲浠ヨ鍙栧熀鏈暟鎹茍鍒涘緩緇ф壙鐨勫垪鏃忋佷竴浜涘簲鐢ㄥ垯鍙厑璁告祻瑙堟暟鎹紙鐢氳嚦鍙兘鍥?涓洪殣縐佺殑鍘熷洜涓嶈兘嫻忚鎵鏈夋暟鎹級銆?/p>

 

鏃墮棿鎴?/strong>

HBase涓氳繃row鍜宑olumns紜畾鐨勪負涓涓瓨璐崟鍏冪О涓篶ell銆傛瘡涓?cell閮戒繚瀛樼潃鍚屼竴浠芥暟鎹殑澶氫釜鐗堟湰銆傜増鏈氳繃鏃墮棿鎴蟲潵绱㈠紩銆傛椂闂存埑鐨勭被鍨嬫槸 64浣嶆暣鍨嬨傛椂闂存埑鍙互鐢県base(鍦ㄦ暟鎹啓鍏ユ椂鑷姩 )璧嬪鹼紝姝ゆ椂鏃墮棿鎴蟲槸綺劇‘鍒版縐掔殑褰撳墠緋葷粺鏃墮棿銆傛椂闂存埑涔熷彲浠ョ敱瀹㈡埛鏄懼紡璧嬪箋傚鏋滃簲鐢ㄧ▼搴忚閬垮厤鏁版嵁鐗堟湰鍐茬獊錛屽氨蹇呴』鑷繁鐢熸垚鍏鋒湁鍞竴鎬х殑鏃墮棿鎴熾傛瘡涓?cell涓紝涓嶅悓鐗堟湰鐨勬暟鎹寜鐓ф椂闂村掑簭鎺掑簭錛屽嵆鏈鏂扮殑鏁版嵁鎺掑湪鏈鍓嶉潰銆?/p>

涓轟簡閬垮厤鏁版嵁瀛樺湪榪囧鐗堟湰閫犳垚鐨勭殑綆$悊 (鍖呮嫭瀛樿串鍜岀儲寮?璐熸媴錛宧base鎻愪緵浜嗕袱縐嶆暟鎹増鏈洖鏀舵柟寮忋備竴鏄繚瀛樻暟鎹殑鏈鍚巒涓増鏈紝浜屾槸淇濆瓨鏈榪戜竴孌墊椂闂村唴鐨勭増鏈紙姣斿鏈榪戜竷澶╋級銆傜敤鎴峰彲浠ラ拡瀵規瘡涓垪鏃忚繘琛岃緗?/p>

 

Cell

鐢?em>{row key, column( =<family> + <label>), version} 鍞竴紜畾鐨勫崟鍏冦俢ell涓殑鏁版嵁鏄病鏈夌被鍨嬬殑錛屽叏閮ㄦ槸瀛楄妭鐮佸艦寮忓瓨璐?/p>

 

涓夈?/strong> 鐗╃悊瀛樺偍

1 宸茬粡鎻愬埌榪囷紝Table涓殑鎵鏈夎閮芥寜鐓ow key鐨勫瓧鍏稿簭鎺掑垪銆?/p>

2 Table 鍦ㄨ鐨勬柟鍚戜笂鍒嗗壊涓哄涓狧region銆?/p>
3 region鎸夊ぇ灝忓垎鍓茬殑錛屾瘡涓〃涓寮濮嬪彧鏈変竴涓猺egion錛岄殢鐫鏁版嵁涓嶆柇鎻掑叆琛紝region涓嶆柇澧炲ぇ錛屽綋澧炲ぇ鍒頒竴涓榾鍊肩殑鏃跺欙紝Hregion灝變細絳夊垎浼氫袱涓柊鐨凥region銆傚綋table涓殑琛屼笉鏂澶氾紝灝變細鏈夎秺鏉ヨ秺澶氱殑Hregion銆?br />
4 Hregion鏄疕base涓垎甯冨紡瀛樺偍鍜岃礋杞藉潎琛$殑鏈灝忓崟鍏冦傛渶灝忓崟鍏冨氨琛ㄧず涓嶅悓鐨凥region鍙互鍒嗗竷鍦ㄤ笉鍚岀殑HRegion server涓娿備絾涓涓狧region鏄笉浼氭媶鍒嗗埌澶氫釜server涓婄殑銆?br />

5 HRegion铏界劧鏄垎甯冨紡瀛樺偍鐨勬渶灝忓崟鍏冿紝浣嗗茍涓嶆槸瀛樺偍鐨勬渶灝忓崟鍏冦?/p>

浜嬪疄涓婏紝HRegion鐢變竴涓垨鑰呭涓猄tore緇勬垚錛屾瘡涓猻tore淇濆瓨涓涓猚olumns family銆?/p>

姣忎釜Strore鍙堢敱涓涓猰emStore鍜?鑷沖涓猄toreFile緇勬垚銆傚鍥撅細

StoreFile浠File鏍煎紡淇濆瓨鍦℉DFS涓娿?/p>


HFile鍒嗕負鍏釜閮ㄥ垎錛?/p>

Data Block 孌?#8211;淇濆瓨琛ㄤ腑鐨勬暟鎹紝榪欓儴鍒嗗彲浠ヨ鍘嬬緝

Meta Block 孌?(鍙夌殑)–淇濆瓨鐢ㄦ埛鑷畾涔夌殑kv瀵癸紝鍙互琚帇緙┿?/p>

File Info 孌?#8211;Hfile鐨勫厓淇℃伅錛屼笉琚帇緙╋紝鐢ㄦ埛涔熷彲浠ュ湪榪欎竴閮ㄥ垎娣誨姞鑷繁鐨勫厓淇℃伅銆?/p>

Data Block Index 孌?#8211;Data Block鐨勭儲寮曘傛瘡鏉$儲寮曠殑key鏄绱㈠紩鐨刡lock鐨勭涓鏉¤褰曠殑key銆?/p>

Meta Block Index孌?(鍙夌殑)–Meta Block鐨勭儲寮曘?/p>

Trailer–榪欎竴孌墊槸瀹氶暱鐨勩備繚瀛樹簡姣忎竴孌電殑鍋忕Щ閲忥紝璇誨彇涓涓狧File鏃訛紝浼氶鍏?璇誨彇Trailer錛孴railer淇濆瓨浜嗘瘡涓鐨勮搗濮嬩綅緗?孌電殑Magic Number鐢ㄦ潵鍋氬畨鍏╟heck)錛岀劧鍚庯紝DataBlock Index浼氳璇誨彇鍒板唴瀛樹腑錛岃繖鏍鳳紝褰撴绱㈡煇涓猭ey鏃訛紝涓嶉渶瑕佹壂鎻忔暣涓狧File錛岃屽彧闇浠庡唴瀛樹腑鎵懼埌key鎵鍦ㄧ殑block錛岄氳繃涓嬈$鐩榠o灝嗘暣涓?block璇誨彇鍒板唴瀛樹腑錛屽啀鎵懼埌闇瑕佺殑key銆侱ataBlock Index閲囩敤LRU鏈哄埗娣樻卑銆?/p>

HFile鐨凞ata Block錛孧eta Block閫氬父閲囩敤鍘嬬緝鏂瑰紡瀛樺偍錛屽帇緙╀箣鍚庡彲浠ュぇ澶у噺灝戠綉緇淚O鍜岀鐩業O錛岄殢涔嬭屾潵鐨勫紑閿褰撶劧鏄渶瑕佽姳璐筩pu榪涜鍘嬬緝鍜岃В鍘嬬緝銆?/p>

鐩爣Hfile鐨勫帇緙╂敮鎸佷袱縐嶆柟寮忥細Gzip錛孡zo銆?/p>

 

HLog(WAL log)

WAL 鎰忎負Write ahead log(http://en.wikipedia.org/wiki/Write-ahead_logging)錛岀被浼糾ysql涓殑binlog,鐢ㄦ潵 鍋氱伨闅炬仮澶嶅彧鐢紝Hlog璁板綍鏁版嵁鐨勬墍鏈夊彉鏇?涓鏃︽暟鎹慨鏀癸紝灝卞彲浠ヤ粠log涓繘琛屾仮澶嶃?/p>

姣忎釜Region Server緇存姢涓涓狧log,鑰屼笉鏄瘡涓猂egion涓涓傝繖鏍蜂笉鍚宺egion(鏉ヨ嚜涓嶅悓table)鐨勬棩蹇椾細娣峰湪涓璧鳳紝榪欐牱鍋氱殑鐩殑鏄笉鏂拷鍔犲崟涓?鏂囦歡鐩稿浜庡悓鏃跺啓澶氫釜鏂囦歡鑰岃█錛屽彲浠ュ噺灝戠鐩樺鍧嬈℃暟錛屽洜姝ゅ彲浠ユ彁楂樺table鐨勫啓鎬ц兘銆傚甫鏉ョ殑楹葷儲鏄紝濡傛灉涓鍙皉egion server涓嬬嚎錛屼負浜嗘仮澶嶅叾涓婄殑region錛岄渶瑕佸皢region server涓婄殑log榪涜鎷嗗垎錛岀劧鍚庡垎鍙戝埌鍏跺畠region server涓婅繘琛屾仮澶嶃?/p>

HLog鏂囦歡灝辨槸涓涓櫘閫氱殑Hadoop Sequence File錛孲equence File 鐨凨ey鏄疕LogKey瀵硅薄錛孒LogKey涓褰曚簡鍐欏叆鏁版嵁鐨勫綊灞炰俊鎭紝闄や簡table鍜宺egion鍚嶅瓧澶栵紝鍚屾椂榪樺寘鎷?sequence number鍜宼imestamp錛宼imestamp鏄?#8221;鍐欏叆鏃墮棿”錛宻equence number鐨勮搗濮嬪間負0錛屾垨鑰呮槸鏈榪戜竴嬈″瓨鍏ユ枃浠剁郴緇熶腑sequence number銆侶Log Sequece File鐨刅alue鏄疕Base鐨凨eyValue瀵硅薄錛屽嵆瀵瑰簲HFile涓殑KeyValue錛屽彲鍙傝涓婃枃鎻忚堪銆?/p>

 

鍥涖?/strong> 緋葷粺鏋舵瀯


Client

1 鍖呭惈璁塊棶hbase鐨勬帴鍙o紝client緇存姢鐫涓浜沜ache鏉ュ姞蹇hbase鐨勮闂紝姣斿regione鐨勪綅緗俊鎭?/p>

 

Zookeeper

1 淇濊瘉浠諱綍鏃跺欙紝闆嗙兢涓彧鏈変竴涓猰aster

2 瀛樿串鎵鏈塕egion鐨勫鍧鍏ュ彛銆?/p>

3 瀹炴椂鐩戞帶Region Server鐨勭姸鎬侊紝灝哛egion server鐨勪笂綰垮拰涓嬬嚎淇℃伅瀹炴椂閫氱煡緇橫aster

4 瀛樺偍Hbase鐨剆chema,鍖呮嫭鏈夊摢浜泃able錛屾瘡涓猼able鏈夊摢浜沜olumn family

 

Master

1 涓篟egion server鍒嗛厤region

2 璐熻矗region server鐨勮礋杞藉潎琛?/p>

3 鍙戠幇澶辨晥鐨剅egion server騫墮噸鏂板垎閰嶅叾涓婄殑region

4 GFS涓婄殑鍨冨溇鏂囦歡鍥炴敹

5 澶勭悊schema鏇存柊璇鋒眰

 

Region Server

1 Region server緇存姢Master鍒嗛厤緇欏畠鐨剅egion錛屽鐞嗗榪欎簺region鐨処O璇鋒眰

2 Region server璐熻矗鍒囧垎鍦ㄨ繍琛岃繃紼嬩腑鍙樺緱榪囧ぇ鐨剅egion

鍙互鐪嬪埌錛宑lient璁塊棶hbase涓婃暟鎹殑榪囩▼騫朵笉闇瑕乵aster鍙備笌錛堝鍧璁塊棶zookeeper鍜宺egion server錛屾暟鎹鍐欒闂畆egione server錛夛紝master浠呬粎緇存姢鑰卼able鍜宺egion鐨勫厓鏁版嵁淇℃伅錛岃礋杞藉緢浣庛?/p>

 

浜斻佸叧閿畻娉?/strong> / 嫻佺▼

region瀹氫綅

緋葷粺濡備綍鎵懼埌鏌愪釜row key (鎴栬呮煇涓?row key range)鎵鍦ㄧ殑region

bigtable 浣跨敤涓夊眰綾諱技B+鏍戠殑緇撴瀯鏉ヤ繚瀛榬egion浣嶇疆銆?/p>

絎竴灞傛槸淇濆瓨zookeeper閲岄潰鐨勬枃浠訛紝瀹冩寔鏈塺oot region鐨勪綅緗?/p>

絎簩灞俽oot region鏄?META.琛ㄧ殑絎竴涓猺egion鍏朵腑淇濆瓨浜?META.z琛ㄥ叾瀹價egion鐨勪綅緗傞氳繃root region錛屾垜浠氨鍙互璁塊棶.META.琛ㄧ殑鏁版嵁銆?/p>

.META.鏄涓夊眰錛屽畠鏄竴涓壒孌婄殑琛紝淇濆瓨浜唄base涓墍鏈夋暟鎹〃鐨剅egion 浣嶇疆淇℃伅銆?/p>

璇存槑錛?/p>

1 root region姘歌繙涓嶄細琚玸plit錛屼繚璇佷簡鏈闇瑕佷笁嬈¤煩杞紝灝辮兘瀹氫綅鍒頒換鎰弐egion 銆?/p>

2.META.琛ㄦ瘡琛屼繚瀛樹竴涓猺egion鐨勪綅緗俊鎭紝row key 閲囩敤琛ㄥ悕+琛ㄧ殑鏈鍚庝竴鏍風紪鐮佽屾垚銆?/p>

3 涓轟簡鍔犲揩璁塊棶錛?META.琛ㄧ殑鍏ㄩ儴region閮戒繚瀛樺湪鍐呭瓨涓?/p>

鍋囪錛?META.琛ㄧ殑涓琛屽湪鍐呭瓨涓ぇ綰﹀崰鐢?KB銆傚茍涓旀瘡涓猺egion闄愬埗涓?28MB銆?/p>

閭d箞涓婇潰鐨勪笁灞傜粨鏋勫彲浠ヤ繚瀛樼殑region鏁扮洰涓猴細

(128MB/1KB) * (128MB/1KB) = = 2(34)涓猺egion

4 client浼氬皢鏌ヨ榪囩殑浣嶇疆淇℃伅淇濆瓨緙撳瓨璧鋒潵錛岀紦瀛樹笉浼氫富鍔ㄥけ鏁堬紝鍥犳濡傛灉client涓婄殑緙撳瓨鍏ㄩ儴澶辨晥錛屽垯闇瑕佽繘琛?嬈$綉緇滄潵鍥烇紝鎵嶈兘瀹氫綅鍒版紜殑region(鍏朵腑涓夋鐢ㄦ潵鍙戠幇緙撳瓨澶辨晥錛屽彟澶栦笁嬈$敤鏉ヨ幏鍙栦綅緗俊鎭?銆?/p>

 

璇誨啓榪囩▼

涓婃枃鎻愬埌錛宧base浣跨敤MemStore鍜孲toreFile瀛樺偍瀵硅〃鐨勬洿鏂般?/p>

鏁版嵁鍦ㄦ洿鏂版椂棣栧厛鍐欏叆Log(WAL log)鍜屽唴瀛?MemStore)涓紝MemStore涓殑鏁版嵁鏄帓搴忕殑錛屽綋MemStore绱鍒頒竴瀹氶槇鍊兼椂錛屽氨浼氬垱寤轟竴涓柊鐨凪emStore錛屽茍 涓斿皢鑰佺殑MemStore娣誨姞鍒癴lush闃熷垪錛岀敱鍗曠嫭鐨勭嚎紼媐lush鍒扮鐩樹笂錛屾垚涓轟竴涓猄toreFile銆備簬姝ゅ悓鏃訛紝緋葷粺浼氬湪zookeeper涓?璁板綍涓涓猺edo point錛岃〃紺鴻繖涓椂鍒諱箣鍓嶇殑鍙樻洿宸茬粡鎸佷箙鍖栦簡銆?minor compact)

褰撶郴緇熷嚭鐜版剰澶栨椂錛屽彲鑳藉鑷村唴瀛?MemStore)涓殑鏁版嵁涓㈠け錛屾鏃朵嬌鐢↙og(WAL log)鏉ユ仮澶峜heckpoint涔嬪悗鐨勬暟鎹?/p>

鍓嶉潰鎻愬埌榪嘢toreFile鏄彧璇葷殑錛屼竴鏃﹀垱寤哄悗灝變笉鍙互鍐嶄慨鏀廣傚洜姝base鐨勬洿 鏂板叾瀹炴槸涓嶆柇榪藉姞鐨勬搷浣溿傚綋涓涓猄tore涓殑StoreFile杈懼埌涓瀹氱殑闃堝煎悗錛屽氨浼氳繘琛屼竴嬈″悎騫?major compact),灝嗗鍚屼竴涓猭ey鐨勪慨鏀瑰悎騫跺埌涓璧鳳紝褰㈡垚涓涓ぇ鐨凷toreFile錛屽綋StoreFile鐨勫ぇ灝忚揪鍒頒竴瀹氶槇鍊煎悗錛屽張浼氬 StoreFile榪涜split錛岀瓑鍒嗕負涓や釜StoreFile銆?/p>

鐢變簬瀵硅〃鐨勬洿鏂版槸涓嶆柇榪藉姞鐨勶紝澶勭悊璇昏姹傛椂錛岄渶瑕佽闂甋tore涓叏閮ㄧ殑 StoreFile鍜孧emStore錛屽皢浠栦滑鐨勬寜鐓ow key榪涜鍚堝茍錛岀敱浜嶴toreFile鍜孧emStore閮芥槸緇忚繃鎺掑簭鐨勶紝騫朵笖StoreFile甯︽湁鍐呭瓨涓儲寮曪紝鍚堝茍鐨勮繃紼嬭繕鏄瘮杈冨揩銆?/p>

鍐欒姹傚鐞嗚繃紼?/p>

1 client鍚憆egion server鎻愪氦鍐欒姹?/p>

2 region server鎵懼埌鐩爣region

3 region媯鏌ユ暟鎹槸鍚︿笌schema涓鑷?/p>

4 濡傛灉瀹㈡埛绔病鏈夋寚瀹氱増鏈紝鍒欒幏鍙栧綋鍓嶇郴緇熸椂闂翠綔涓烘暟鎹増鏈?/p>

5 灝嗘洿鏂板啓鍏AL log

6 灝嗘洿鏂板啓鍏emstore

7 鍒ゆ柇Memstore鐨勬槸鍚﹂渶瑕乫lush涓篠tore鏂囦歡銆?/p>

 

region鍒嗛厤

浠諱綍鏃跺埢錛屼竴涓猺egion鍙兘鍒嗛厤緇欎竴涓猺egion server銆俶aster璁板綍浜嗗綋鍓嶆湁鍝簺鍙敤鐨剅egion server銆備互鍙婂綋鍓嶅摢浜況egion鍒嗛厤緇欎簡鍝簺region server錛屽摢浜況egion榪樻病鏈夊垎閰嶃傚綋瀛樺湪鏈垎閰嶇殑region錛屽茍涓旀湁涓涓猺egion server涓婃湁鍙敤絀洪棿鏃訛紝master灝辯粰榪欎釜region server鍙戦佷竴涓杞借姹傦紝鎶妑egion鍒嗛厤緇欒繖涓猺egion server銆俽egion server寰楀埌璇鋒眰鍚庯紝灝卞紑濮嬪姝egion鎻愪緵鏈嶅姟銆?/p>

 

region server涓婄嚎

master浣跨敤zookeeper鏉ヨ窡韙猺egion server鐘舵併傚綋鏌愪釜region server鍚姩鏃訛紝浼氶鍏堝湪zookeeper涓婄殑server鐩綍涓嬪緩绔嬩唬琛ㄨ嚜宸辯殑鏂囦歡錛屽茍鑾峰緱璇ユ枃浠剁殑鐙崰閿併傜敱浜巑aster璁㈤槄浜唖erver 鐩綍涓婄殑鍙樻洿娑堟伅錛屽綋server鐩綍涓嬬殑鏂囦歡鍑虹幇鏂板鎴栧垹闄ゆ搷浣滄椂錛宮aster鍙互寰楀埌鏉ヨ嚜zookeeper鐨勫疄鏃墮氱煡銆傚洜姝や竴鏃egion server涓婄嚎錛宮aster鑳介┈涓婂緱鍒版秷鎭?/p>

 

region server涓嬬嚎

褰搑egion server涓嬬嚎鏃訛紝瀹冨拰zookeeper鐨勪細璇濇柇寮錛寊ookeeper鑰岃嚜鍔ㄩ噴鏀句唬琛ㄨ繖鍙皊erver鐨勬枃浠朵笂鐨勭嫭鍗犻攣銆傝宮aster涓嶆柇杞 server鐩綍涓嬫枃浠剁殑閿佺姸鎬併傚鏋渕aster鍙戠幇鏌愪釜region server涓㈠け浜嗗畠鑷繁鐨勭嫭鍗犻攣錛?鎴栬卪aster榪炵畫鍑犳鍜宺egion server閫氫俊閮芥棤娉曟垚鍔?,master灝辨槸灝濊瘯鍘昏幏鍙栦唬琛ㄨ繖涓猺egion server鐨勮鍐欓攣錛屼竴鏃﹁幏鍙栨垚鍔燂紝灝卞彲浠ョ‘瀹氾細

1 region server鍜寊ookeeper涔嬮棿鐨勭綉緇滄柇寮浜嗐?/p>

2 region server鎸備簡銆?/p>

鐨勫叾涓竴縐嶆儏鍐靛彂鐢熶簡錛屾棤璁哄摢縐嶆儏鍐碉紝region server閮芥棤娉曠戶緇負瀹冪殑region鎻愪緵鏈嶅姟浜嗭紝姝ゆ椂master浼氬垹闄erver鐩綍涓嬩唬琛ㄨ繖鍙皉egion server鐨勬枃浠訛紝騫跺皢榪欏彴region server鐨剅egion鍒嗛厤緇欏叾瀹冭繕媧葷潃鐨勫悓蹇椼?/p>

濡傛灉緗戠粶鐭殏鍑虹幇闂瀵艱嚧region server涓㈠け浜嗗畠鐨勯攣錛岄偅涔坮egion server閲嶆柊榪炴帴鍒皕ookeeper涔嬪悗錛屽彧瑕佷唬琛ㄥ畠鐨勬枃浠惰繕鍦紝瀹冨氨浼氫笉鏂皾璇曡幏鍙栬繖涓枃浠朵笂鐨勯攣錛屼竴鏃﹁幏鍙栧埌浜嗭紝灝卞彲浠ョ戶緇彁渚涙湇鍔°?/p>

 

master涓婄嚎

master鍚姩榪涜浠ヤ笅姝ラ:

1 浠巣ookeeper涓婅幏鍙栧敮涓涓涓唬鐮乵aster鐨勯攣錛岀敤鏉ラ樆姝㈠叾瀹僲aster鎴愪負master銆?/p>

2 鎵弿zookeeper涓婄殑server鐩綍錛岃幏寰楀綋鍓嶅彲鐢ㄧ殑region server鍒楄〃銆?/p>

3 鍜?涓殑姣忎釜region server閫氫俊錛岃幏寰楀綋鍓嶅凡鍒嗛厤鐨剅egion鍜宺egion server鐨勫搴斿叧緋匯?/p>

4 鎵弿.META.region鐨勯泦鍚堬紝璁$畻寰楀埌褰撳墠榪樻湭鍒嗛厤鐨剅egion錛屽皢浠栦滑鏀懼叆寰呭垎閰峳egion鍒楄〃銆?/p>

 

master涓嬬嚎

鐢變簬master鍙淮鎶よ〃鍜宺egion鐨勫厓鏁版嵁錛岃屼笉鍙備笌琛ㄦ暟鎹甀O鐨勮繃 紼嬶紝master涓嬬嚎浠呭鑷存墍鏈夊厓鏁版嵁鐨勪慨鏀硅鍐葷粨(鏃犳硶鍒涘緩鍒犻櫎琛紝鏃犳硶淇敼琛ㄧ殑schema錛屾棤娉曡繘琛宺egion鐨勮礋杞藉潎琛★紝鏃犳硶澶勭悊region 涓婁笅綰匡紝鏃犳硶榪涜region鐨勫悎騫訛紝鍞竴渚嬪鐨勬槸region鐨剆plit鍙互姝e父榪涜錛屽洜涓哄彧鏈塺egion server鍙備笌)錛岃〃鐨勬暟鎹鍐欒繕鍙互姝e父榪涜銆傚洜姝aster涓嬬嚎鐭椂闂村唴瀵規暣涓猦base闆嗙兢娌℃湁褰卞搷銆備粠涓婄嚎榪囩▼鍙互鐪嬪埌錛宮aster淇濆瓨鐨?淇℃伅鍏ㄦ槸鍙互鍐椾綑淇℃伅錛堥兘鍙互浠庣郴緇熷叾瀹冨湴鏂規敹闆嗗埌鎴栬呰綆楀嚭鏉ワ級錛屽洜姝わ紝涓鑸琱base闆嗙兢涓繪槸鏈変竴涓猰aster鍦ㄦ彁渚涙湇鍔★紝榪樻湁涓涓互涓?鐨?#8217;master’鍦ㄧ瓑寰呮椂鏈烘姠鍗犲畠鐨勪綅緗?/p>

鍏佽闂帴鍙?/strong>

  • HBase Shell
  • Java clietn API
  • HBase non-java access
    • languages talking to the JVM
      • Jython interface to HBase
      • Groovy DSL for HBase
      • Scala interface to HBase
    • languages with a custom protocol
      • REST gateway specification for HBase
      • 鍏呭垎鍒╃敤HTTP鍗忚錛欸ET POST PUT DELETE

§

      • text/plain
      • text/xml
      • application/json
      • application/x-protobuf
    • Thrift gateway specification for HBase
      • java
      • cpp
      • rb
      • py
      • perl
      • php
  • HBase Map Reduce
  • Hive/Pig

涓冦佺粨璇細

鍏ㄦ枃瀵?/strong> Hbase鍋氫簡 綆鍗曠殑浠嬬粛錛屾湁閿欒涔嬪錛屾暚璇鋒寚姝c傛湭鏉ュ皢緇撳悎 Hbase 鍦ㄦ窐瀹濇暟鎹鉤鍙扮殑搴旂敤鍦烘櫙錛屽湪鏇村緇嗚妭涓婅繘琛屾繁鍏ャ?/strong>


鍙傝冩枃妗?/strong>

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

Hbase source code

 

寰堜箙娌″啓鍗氬浜嗭紝鍥犱負寰堝繖錛屼笉榪囦粖澶╁彂鐜頒竴綃囦笉閿欑殑鏂囩珷錛屽府鎴戞⒊鐞嗕簡涓婬Base錛屽師鏂囧湴鍧錛歨ttp://www.tbdata.org/archives/1509



閼緳 2013-06-07 22:14 鍙戣〃璇勮
]]>
HBASE瀹夎鍜岀畝鍗曟祴璇?http://m.shnenglu.com/mysileng/archive/2013/04/15/199465.html閼緳閼緳Mon, 15 Apr 2013 12:45:00 GMThttp://m.shnenglu.com/mysileng/archive/2013/04/15/199465.htmlhttp://m.shnenglu.com/mysileng/comments/199465.htmlhttp://m.shnenglu.com/mysileng/archive/2013/04/15/199465.html#Feedback0http://m.shnenglu.com/mysileng/comments/commentRss/199465.htmlhttp://m.shnenglu.com/mysileng/services/trackbacks/199465.html闃呰鍏ㄦ枃

閼緳 2013-04-15 20:45 鍙戣〃璇勮
]]>
性做久久久久久久久浪潮| 久久久久免费看成人影片| 久久99热这里只有精品国产| 欧美日韩精品久久久久| 国内精品伊人久久久久777| 久久精品免费观看| 无码乱码观看精品久久| 久久777国产线看观看精品| 亚洲精品无码久久毛片| 97久久精品午夜一区二区| 日批日出水久久亚洲精品tv| 久久99国产精品尤物| 久久久午夜精品| 国产精品成人99久久久久 | 亚洲AV无码久久精品成人| 亚洲一级Av无码毛片久久精品| 伊人久久大香线蕉成人| 热99re久久国超精品首页| 一级做a爰片久久毛片看看| 日韩亚洲欧美久久久www综合网 | 国产精品伊人久久伊人电影 | 久久综合噜噜激激的五月天| 久久免费视频一区| 丰满少妇人妻久久久久久4| 漂亮人妻被黑人久久精品| 亚洲人成无码久久电影网站| 国产精品成人无码久久久久久| 久久w5ww成w人免费| 久久久久久精品成人免费图片| 久久久久国产| 国产精品无码久久四虎| 99久久精品免费看国产| 人妻少妇久久中文字幕一区二区| 久久久这里有精品| 99久久国产宗和精品1上映| 中文字幕人妻色偷偷久久 | 久久久久人妻精品一区三寸蜜桃| 99精品国产综合久久久久五月天| 香港aa三级久久三级老师2021国产三级精品三级在 | 伊人久久大香线焦综合四虎| 久久伊人精品青青草原高清|