版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、HBASE,,內(nèi)容提要,為什么需要HBaseHTable的邏輯組織HBase的運行機制HBase與 HDFSHBase的對外接口,引入HBASE的原因,數(shù)據(jù)庫系統(tǒng)已無法適應大型分布式數(shù)據(jù)存儲的需要改良的關系數(shù)據(jù)庫(副本、分區(qū)等)難于安裝與維護關系模型對數(shù)據(jù)的操作使數(shù)據(jù)的存貯變得復雜,引入HBASE的原因,HBASE從設計理念上就為可擴展做好了充分準備空間的擴展只需要加入存儲結點使用‘表’的概念,但不同于關系數(shù)據(jù)庫,不支持
2、SQL實質上是一張極大的、非常稀疏的,存儲在分布式文件系統(tǒng)上的表,HBase歷史,2006年底由PowerSet 的Chad Walters和Jim Kellerman 發(fā)起2008年成為Apache Hadoop的一個子項目現(xiàn)已作為產(chǎn)品被使用WorldLingoStreamy.comOpenPlacesYahooAdobe,HBASE用例-WebTable,存儲抓取網(wǎng)頁和相關信息每個頁面對應一行,是個有百萬行的大表
3、要基于此表進行分析與解析并由搜索引擎對關鍵字進行索引表需要并發(fā)地被眾多網(wǎng)頁抓取程序隨機地訪問以及更新數(shù)據(jù)表內(nèi)容也要作為網(wǎng)頁實時緩存被大量用戶隨機訪問,邏輯視圖,數(shù)據(jù)模型-行,行鍵,列,列,數(shù)據(jù)模型-行,每行數(shù)據(jù)有一可排序的關鍵字和任意列項字符串、整數(shù)、二進制串甚至與串行化的結構都可以作為行鍵表按照行鍵的“逐字節(jié)排序”順序對行進行有序化處理表內(nèi)數(shù)據(jù)非常‘稀疏’,不同的行的列的數(shù)完全目可以大不相同,數(shù)據(jù)模型-行,可以只對一行上“鎖
4、”對行的寫操作是始終是“原子”的,數(shù)據(jù)模型-列,列必須用‘族’(family)來定義任意一列有如下形式“族:標簽”其中,族和標簽都可為任意形式的串物理上將同“族”數(shù)據(jù)存儲在一起數(shù)據(jù)可通過時間戳區(qū)分版本,數(shù)據(jù)模型-列,族,標簽,物理視圖,HTable小結,系統(tǒng)總體結構,數(shù)據(jù)存儲實體-區(qū)域,表按照“水平”的方式劃分成一個或多個“區(qū)域”(region)每個區(qū)域都包含一個隨機id,區(qū)域內(nèi)的行也是按行鍵有序的最初每張表包含一個區(qū)域
5、,當表增大超過閾值后,這個區(qū)域被自動分割成兩個相同大小的區(qū)域區(qū)域以分布式的方式分布在集群內(nèi),區(qū)域的管理,區(qū)域服務器(Region Server)為區(qū)域的訪問提供服務,直接為用戶提供服務負責維護區(qū)域的分割負責數(shù)據(jù)存持久化主服務器(Master Server)管理區(qū)域服務器指派區(qū)域服務器對服務特定區(qū)域恢復失效的區(qū)域服務器,特殊目錄數(shù)據(jù),元數(shù)據(jù)(META)全部用戶區(qū)域的屬性數(shù)據(jù)都存在元數(shù)據(jù)表中包括區(qū)域中數(shù)據(jù)起止行信息、區(qū)域
6、“在線”狀態(tài)等保存區(qū)域服務器地址元數(shù)據(jù)表也可包含多個區(qū)域,區(qū)域屬性數(shù)據(jù)存儲在“根”結點上,特殊目錄數(shù)據(jù),“根”表(ROOT)只存包含一個區(qū)域將元數(shù)據(jù)中的區(qū)域映射到區(qū)域服務器存儲元數(shù)據(jù)服務器位置以及映射了哪些元數(shù)據(jù)區(qū)域,區(qū)域服務器(Region Server)職能,負責處理用戶的讀寫請求向主服務器(Master Server)上報自己的狀態(tài),并獲取自己需要服務的區(qū)域為提高效率,消息通過捎帶(pigback)方式通過“心跳”分
7、組進行傳遞,區(qū)域服務器-“寫”,寫數(shù)據(jù)首先寫入“預寫”日志對于一個區(qū)域服務器而言,對其提供服務的所有區(qū)域的“寫”操作日志都存儲在同一個日志中數(shù)據(jù)并非直接寫文件系統(tǒng),而是先緩存,緩存到一定數(shù)量再批量寫入寫入完成后在日志中做標記,區(qū)域服務器-“讀”,區(qū)域服務器現(xiàn)在內(nèi)存的緩存中查找,如果命中請求,則直接服務如果存在多個版本,則返回順序按照從最新到最老,區(qū)域服務器-合并,如果映射文件(Map File)數(shù)量超過閾值,區(qū)域服務器會進行一次
8、合并(Compaction)合并操作也周期性進行合并可與區(qū)域服務器響應用戶的讀寫請求并發(fā)進行如果讀寫請求與合并區(qū)域相關,讀寫操作先掛起,直到合并操作完成,區(qū)域服務器-分割,當區(qū)域文件大過閾值后,區(qū)域文件會按照行的方式對半進行分割(Split)操作分割也作為一種請求被區(qū)域服務器處理被分割區(qū)域先離線區(qū)域服務器在元信息表中生成子表元信息主服務器在得知分割操作進行后,將子表分配給新的區(qū)域服務器進行服務被分割區(qū)域通過垃圾回收機制回
9、收,區(qū)域服務器-分割,如果主服務器沒能正確收到分割消息,主服務器可通過定期檢查MATA數(shù)據(jù)發(fā)現(xiàn)分割操作開始分割操作后,被分割區(qū)域離線,此時客戶端能檢測到并在分割后的區(qū)域上線后重發(fā)訪問請求,失效恢復,由于檢測沒有心跳,主服務器能夠探知區(qū)域服務器的失效主服務器將失效服務器所提供服務的區(qū)域重新分配給其它區(qū)域服務器原失效區(qū)域服務器的“預寫”日志由主服務器進行分割并派送給新的區(qū)域服務器,客戶端,連接到ZooKeeper集群獲取根區(qū)域數(shù)據(jù)和元
10、數(shù)據(jù)的位置在元數(shù)據(jù)中查找需要訪問行所在的區(qū)域并定位提供該區(qū)域服務的區(qū)域服務器直接與區(qū)域服務器交互以獲取數(shù)據(jù)根區(qū)域數(shù)據(jù)、元數(shù)據(jù)以及用戶區(qū)域信息都被客戶端緩存以備下次訪問使用,系統(tǒng)總體結構,HBase安裝,需要ZooKeeper支持本身帶zookeeper.jar包步驟解壓,并添加支撐的.jar包到用戶CLASS_PATH修改conf下hbase-env.sh, regionserversHbase-site.xml啟動
11、Hbase: bin/start-hbase.sh,HBase Shell,啟動bin/hbase shell主要命令create 創(chuàng)建表describe 描述表enable/disable 表激活/取消drop 刪除表get/put 表讀寫,HBase API,HBaseConfigurationaddResource(…)HTableput(…)get(…)ResultScannernext(…),HBas
12、e與HDFS,如果使用HDFS需要配置RegionServer,定位存儲位置為HDFS服務/conf/hbase-site.xml定義hbase.rootdir值,指向HDFS服務,如:hdfs://hdfs_server:port/hbase_root,HBase與其它文件系統(tǒng),HBase可以使用其它分布式文件系統(tǒng)mount至掛載點,如/mnt/mydfs定義hbase.rootdir值,指向掛載點,如 file:///mn
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論