




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、HBASE 內(nèi)容提要內(nèi)容提要為什么需要為什么需要HBaseHTable的邏輯組織的邏輯組織HBase的運(yùn)行機(jī)制的運(yùn)行機(jī)制HBase與與 HDFSHBase的對外接口的對外接口引入引入HBASE的原因的原因數(shù)據(jù)庫系統(tǒng)已無法適應(yīng)大型分布式數(shù)據(jù)存數(shù)據(jù)庫系統(tǒng)已無法適應(yīng)大型分布式數(shù)據(jù)存儲的需要儲的需要改良的關(guān)系數(shù)據(jù)庫(副本、分區(qū)等)難于改良的關(guān)系數(shù)據(jù)庫(副本、分區(qū)等)難于安裝與維護(hù)安裝與維護(hù)關(guān)系模型對數(shù)據(jù)的操作使數(shù)據(jù)的存貯變得關(guān)系模型對數(shù)據(jù)的操作使數(shù)據(jù)的存貯變得復(fù)雜復(fù)雜引入引入HBASE的原因的原因HBASE從設(shè)計(jì)理念上就為可擴(kuò)展做好了充從設(shè)計(jì)理念上就為可擴(kuò)展做好了充分準(zhǔn)備分準(zhǔn)備空間的擴(kuò)展只需要加入存儲
2、結(jié)點(diǎn)空間的擴(kuò)展只需要加入存儲結(jié)點(diǎn)使用使用表表的概念,但不同于關(guān)系數(shù)據(jù)庫,的概念,但不同于關(guān)系數(shù)據(jù)庫,不支持不支持SQL實(shí)質(zhì)上是一張極大的、非常稀疏的,存儲實(shí)質(zhì)上是一張極大的、非常稀疏的,存儲在分布式文件系統(tǒng)上的表在分布式文件系統(tǒng)上的表HBase歷史歷史2006年底由年底由PowerSet 的的Chad Walters和和Jim Kellerman 發(fā)起發(fā)起2008年成為年成為Apache Hadoop的一個(gè)子項(xiàng)目的一個(gè)子項(xiàng)目現(xiàn)已作為產(chǎn)品被使用現(xiàn)已作為產(chǎn)品被使用WorldLingoSOpenPlacesYahooAdobeHBASE用例用例WebTable存儲抓取網(wǎng)頁和相關(guān)信息存儲抓取網(wǎng)頁和相關(guān)
3、信息每個(gè)頁面對應(yīng)一行,是個(gè)有百萬行的大表每個(gè)頁面對應(yīng)一行,是個(gè)有百萬行的大表要基于此表進(jìn)行分析與解析并由搜索引擎要基于此表進(jìn)行分析與解析并由搜索引擎對關(guān)鍵字進(jìn)行索引對關(guān)鍵字進(jìn)行索引表需要并發(fā)地被眾多網(wǎng)頁抓取程序隨機(jī)地表需要并發(fā)地被眾多網(wǎng)頁抓取程序隨機(jī)地訪問以及更新數(shù)據(jù)訪問以及更新數(shù)據(jù)表內(nèi)容也要作為網(wǎng)頁實(shí)時(shí)緩存被大量用戶表內(nèi)容也要作為網(wǎng)頁實(shí)時(shí)緩存被大量用戶隨機(jī)訪問隨機(jī)訪問邏輯視圖邏輯視圖Row KeyTime StampColumn ContentsColumn AnchorColumn “mime”my.look.ca“n.www”T9CNNT8CNN.COMT6“. “Text/htmlT5
4、“. “t3“. “數(shù)據(jù)模型行數(shù)據(jù)模型行Row KeyTime StampColumn ContentsColumn AnchorColumn “mime”my.look.ca“n.www”T9CNNT8CNN.COMT6“. “Text/htmlT5“. “t3“. “行鍵列列數(shù)據(jù)模型行數(shù)據(jù)模型行每行數(shù)據(jù)有一可排序的關(guān)鍵字和任意列項(xiàng)每行數(shù)據(jù)有一可排序的關(guān)鍵字和任意列項(xiàng)字符串、整數(shù)、二進(jìn)制串甚至與串行化的字符串、整數(shù)、二進(jìn)制串甚至與串行化的結(jié)構(gòu)都可以作為行鍵結(jié)構(gòu)都可以作為行鍵表按照行鍵的表按照行鍵的“逐字節(jié)排序逐字節(jié)排序”順序?qū)π羞M(jìn)順序?qū)π羞M(jìn)行有序化處理行有序化處理表內(nèi)數(shù)據(jù)非常表內(nèi)數(shù)據(jù)非常稀疏
5、稀疏,不同的行的列的,不同的行的列的數(shù)完全目可以大不相同數(shù)完全目可以大不相同數(shù)據(jù)模型行數(shù)據(jù)模型行可以只對一行上可以只對一行上“鎖鎖”對行的寫操作是始終是對行的寫操作是始終是“原子原子”的的數(shù)據(jù)模型列數(shù)據(jù)模型列列必須用列必須用族族(family)來定義來定義任意一列有如下形式任意一列有如下形式“族:標(biāo)簽族:標(biāo)簽”其中,族和標(biāo)簽都可為任意形式的串其中,族和標(biāo)簽都可為任意形式的串物理上將同物理上將同“族族”數(shù)據(jù)存儲在一起數(shù)據(jù)存儲在一起數(shù)據(jù)可通過時(shí)間戳區(qū)分版本數(shù)據(jù)可通過時(shí)間戳區(qū)分版本數(shù)據(jù)模型列數(shù)據(jù)模型列Row KeyTime StampColumn ContentsColumn AnchorColum
6、n “mime”my.look.ca“n.www”T9CNNT8CNN.COMT6“. “Text/htmlT5“. “t3“. “族標(biāo)簽物理視圖物理視圖Row KeyTime StampColumn: ContentsCn.wwwT6“.”T5“.”T3“.”Row KeyTime StampColumn: AnchorCn.wwwT9Anchor:CNNT5Anchor:my.look.caCNN.COMRow KeyTime StampColumn: mimeCn.wwwT6text/htmlHTable小結(jié)小結(jié)Row KeyTime StampColumn ContentsColumn
7、 AnchorColumn “mime”my.look.ca“n.www”T9CNNT8CNN.COMT6“. “Text/htmlT5“. “t3“. “系統(tǒng)總體結(jié)構(gòu)系統(tǒng)總體結(jié)構(gòu)HDFSClusterZoo KeeperClusterRegionServerRegionServerRegionServerMasterServerHStoreMap FilesHStoreMap FilesRegion數(shù)據(jù)存儲實(shí)體區(qū)域數(shù)據(jù)存儲實(shí)體區(qū)域表按照表按照“水平水平”的方式劃分成一個(gè)或多個(gè)的方式劃分成一個(gè)或多個(gè)“區(qū)域區(qū)域”(region)每個(gè)區(qū)域都包含一個(gè)隨機(jī)每個(gè)區(qū)域都包含一個(gè)隨機(jī)id,區(qū)域內(nèi)的行也,區(qū)域
8、內(nèi)的行也是按行鍵有序的是按行鍵有序的最初每張表包含一個(gè)區(qū)域,當(dāng)表增大超過最初每張表包含一個(gè)區(qū)域,當(dāng)表增大超過閾值后,這個(gè)區(qū)域被自動分割成兩個(gè)相同閾值后,這個(gè)區(qū)域被自動分割成兩個(gè)相同大小的區(qū)域大小的區(qū)域區(qū)域以分布式的方式分布在集群內(nèi)區(qū)域以分布式的方式分布在集群內(nèi)區(qū)域的管理區(qū)域的管理區(qū)域服務(wù)器區(qū)域服務(wù)器(Region Server)為區(qū)域的訪問提供服務(wù),直接為用戶提供服務(wù)為區(qū)域的訪問提供服務(wù),直接為用戶提供服務(wù)負(fù)責(zé)維護(hù)區(qū)域的分割負(fù)責(zé)維護(hù)區(qū)域的分割負(fù)責(zé)數(shù)據(jù)存持久化負(fù)責(zé)數(shù)據(jù)存持久化主服務(wù)器主服務(wù)器(Master Server)管理區(qū)域服務(wù)器管理區(qū)域服務(wù)器指派區(qū)域服務(wù)器對服務(wù)特定區(qū)域指派區(qū)域服務(wù)器對服務(wù)
9、特定區(qū)域恢復(fù)失效的區(qū)域服務(wù)器恢復(fù)失效的區(qū)域服務(wù)器特殊目錄數(shù)據(jù)特殊目錄數(shù)據(jù)元數(shù)據(jù)元數(shù)據(jù)(META)全部用戶區(qū)域的屬性數(shù)據(jù)都存在元數(shù)據(jù)表中全部用戶區(qū)域的屬性數(shù)據(jù)都存在元數(shù)據(jù)表中包括區(qū)域中數(shù)據(jù)起止行信息、區(qū)域包括區(qū)域中數(shù)據(jù)起止行信息、區(qū)域“在線在線”狀狀態(tài)等態(tài)等保存區(qū)域服務(wù)器地址保存區(qū)域服務(wù)器地址元數(shù)據(jù)表也可包含多個(gè)區(qū)域,區(qū)域?qū)傩詳?shù)據(jù)存元數(shù)據(jù)表也可包含多個(gè)區(qū)域,區(qū)域?qū)傩詳?shù)據(jù)存儲在儲在“根根”結(jié)點(diǎn)上結(jié)點(diǎn)上特殊目錄數(shù)據(jù)特殊目錄數(shù)據(jù)“根根”表表(ROOT)只存包含一個(gè)區(qū)域只存包含一個(gè)區(qū)域?qū)⒃獢?shù)據(jù)中的區(qū)域映射到區(qū)域服務(wù)器將元數(shù)據(jù)中的區(qū)域映射到區(qū)域服務(wù)器存儲元數(shù)據(jù)服務(wù)器位置以及映射了哪些元數(shù)據(jù)存儲元數(shù)據(jù)服務(wù)器
10、位置以及映射了哪些元數(shù)據(jù)區(qū)域區(qū)域區(qū)域服務(wù)器區(qū)域服務(wù)器(Region Server)職職能能負(fù)責(zé)處理用戶的讀寫請求負(fù)責(zé)處理用戶的讀寫請求向主服務(wù)器向主服務(wù)器(Master Server)上報(bào)自己的狀上報(bào)自己的狀態(tài),并獲取自己需要服務(wù)的區(qū)域態(tài),并獲取自己需要服務(wù)的區(qū)域?yàn)樘岣咝?,消息通過捎帶為提高效率,消息通過捎帶(pigback)方式方式通過通過“心跳心跳”分組進(jìn)行傳遞分組進(jìn)行傳遞區(qū)域服務(wù)器區(qū)域服務(wù)器“寫寫”寫數(shù)據(jù)首先寫入寫數(shù)據(jù)首先寫入“預(yù)寫預(yù)寫”日志日志對于一個(gè)區(qū)域服務(wù)器而言,對其提供服務(wù)對于一個(gè)區(qū)域服務(wù)器而言,對其提供服務(wù)的所有區(qū)域的的所有區(qū)域的“寫寫”操作日志都存儲在同操作日志都存儲在同一
11、個(gè)日志中一個(gè)日志中數(shù)據(jù)并非直接寫文件系統(tǒng),而是先緩存,數(shù)據(jù)并非直接寫文件系統(tǒng),而是先緩存,緩存到一定數(shù)量再批量寫入緩存到一定數(shù)量再批量寫入寫入完成后在日志中做標(biāo)記寫入完成后在日志中做標(biāo)記區(qū)域服務(wù)器區(qū)域服務(wù)器“讀讀”區(qū)域服務(wù)器現(xiàn)在內(nèi)存的緩存中查找,如果區(qū)域服務(wù)器現(xiàn)在內(nèi)存的緩存中查找,如果命中請求,則直接服務(wù)命中請求,則直接服務(wù)如果存在多個(gè)版本,則返回順序按照從最如果存在多個(gè)版本,則返回順序按照從最新到最老新到最老區(qū)域服務(wù)器合并區(qū)域服務(wù)器合并如果映射文件如果映射文件(Map File)數(shù)量超過閾值,區(qū)數(shù)量超過閾值,區(qū)域服務(wù)器會進(jìn)行一次合并域服務(wù)器會進(jìn)行一次合并(Compaction)合并操作也周期
12、性進(jìn)行合并操作也周期性進(jìn)行合并可與區(qū)域服務(wù)器響應(yīng)用戶的讀寫請求合并可與區(qū)域服務(wù)器響應(yīng)用戶的讀寫請求并發(fā)進(jìn)行并發(fā)進(jìn)行如果讀寫請求與合并區(qū)域相關(guān),讀寫操作如果讀寫請求與合并區(qū)域相關(guān),讀寫操作先掛起,直到合并操作完成先掛起,直到合并操作完成區(qū)域服務(wù)器分割區(qū)域服務(wù)器分割當(dāng)區(qū)域文件大過閾值后,區(qū)域文件會按照當(dāng)區(qū)域文件大過閾值后,區(qū)域文件會按照行的方式對半進(jìn)行分割行的方式對半進(jìn)行分割(Split)操作操作分割也作為一種請求被區(qū)域服務(wù)器處理分割也作為一種請求被區(qū)域服務(wù)器處理被分割區(qū)域先離線被分割區(qū)域先離線區(qū)域服務(wù)器在元信息表中生成子表元信息區(qū)域服務(wù)器在元信息表中生成子表元信息主服務(wù)器在得知分割操作進(jìn)行后,將
13、子表主服務(wù)器在得知分割操作進(jìn)行后,將子表分配給新的區(qū)域服務(wù)器進(jìn)行服務(wù)分配給新的區(qū)域服務(wù)器進(jìn)行服務(wù)被分割區(qū)域通過垃圾回收機(jī)制回收被分割區(qū)域通過垃圾回收機(jī)制回收區(qū)域服務(wù)器分割區(qū)域服務(wù)器分割如果主服務(wù)器沒能正確收到分割消息,主如果主服務(wù)器沒能正確收到分割消息,主服務(wù)器可通過定期檢查服務(wù)器可通過定期檢查MATA數(shù)據(jù)發(fā)現(xiàn)分割數(shù)據(jù)發(fā)現(xiàn)分割操作操作開始分割操作后,被分割區(qū)域離線,此時(shí)開始分割操作后,被分割區(qū)域離線,此時(shí)客戶端能檢測到并在分割后的區(qū)域上線后客戶端能檢測到并在分割后的區(qū)域上線后重發(fā)訪問請求重發(fā)訪問請求失效恢復(fù)失效恢復(fù)由于檢測沒有心跳,主服務(wù)器能夠探知區(qū)由于檢測沒有心跳,主服務(wù)器能夠探知區(qū)域服務(wù)器
14、的失效域服務(wù)器的失效主服務(wù)器將失效服務(wù)器所提供服務(wù)的區(qū)域主服務(wù)器將失效服務(wù)器所提供服務(wù)的區(qū)域重新分配給其它區(qū)域服務(wù)器重新分配給其它區(qū)域服務(wù)器原失效區(qū)域服務(wù)器的原失效區(qū)域服務(wù)器的“預(yù)寫預(yù)寫”日志由主服日志由主服務(wù)器進(jìn)行分割并派送給新的區(qū)域服務(wù)器務(wù)器進(jìn)行分割并派送給新的區(qū)域服務(wù)器客戶端客戶端連接到連接到ZooKeeper集群獲取根區(qū)域數(shù)據(jù)和集群獲取根區(qū)域數(shù)據(jù)和元數(shù)據(jù)的位置元數(shù)據(jù)的位置在元數(shù)據(jù)中查找需要訪問行所在的區(qū)域并在元數(shù)據(jù)中查找需要訪問行所在的區(qū)域并定位提供該區(qū)域服務(wù)的區(qū)域服務(wù)器定位提供該區(qū)域服務(wù)的區(qū)域服務(wù)器直接與區(qū)域服務(wù)器交互以獲取數(shù)據(jù)直接與區(qū)域服務(wù)器交互以獲取數(shù)據(jù)根區(qū)域數(shù)據(jù)、元數(shù)據(jù)以及用戶
15、區(qū)域信息都根區(qū)域數(shù)據(jù)、元數(shù)據(jù)以及用戶區(qū)域信息都被客戶端緩存以備下次訪問使用被客戶端緩存以備下次訪問使用系統(tǒng)總體結(jié)構(gòu)系統(tǒng)總體結(jié)構(gòu)HDFSClusterZoo KeeperClusterRegionServerRegionServerRegionServerMasterServerHStoreMap FilesHStoreMap FilesRegionHBase安裝安裝需要需要ZooKeeper支持支持本身帶本身帶zookeeper.jar包包步驟步驟解壓,并添加支撐的解壓,并添加支撐的.jar包到用戶包到用戶CLASS_PATH修改修改conf下下hbase-env.sh, regionserversHbase-site.xml啟動啟動Hbase: bin/start-hbase.shHBase Shell啟動啟動bin/hbase shell主要命令主要命令create 創(chuàng)建表創(chuàng)建表describe 描述表描述表enable/disable 表激活表激活/取消取消drop 刪除表刪除表get/put 表讀寫表讀寫HBase APIHBaseConfigurationaddResource()HTableput()get()ResultScannernext()HBase與與HDFS如果使用如果使用HDFS需要配置需要配置RegionServer,定,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 福建漳州三模數(shù)學(xué)試卷
- 廣東高分突破九年級數(shù)學(xué)試卷
- 肛腸術(shù)后護(hù)理課件
- 高三寫不完的數(shù)學(xué)試卷
- 肋骨骨折護(hù)理
- 2024年09月湖北省農(nóng)村信用社聯(lián)合社網(wǎng)絡(luò)信息中心度招考35名勞務(wù)派遣科技專業(yè)人才筆試歷年參考題庫附帶答案詳解
- 2025至2030袋泡茶市場前景分析及發(fā)展趨勢分析與未來投資戰(zhàn)略咨詢研究報(bào)告
- 高血糖引起的并發(fā)癥的早期干預(yù)
- 2025至2030寵物袋運(yùn)動衫行業(yè)市場深度研究與戰(zhàn)略咨詢分析報(bào)告
- 2024年山東煙臺干部學(xué)院招聘教師筆試真題
- 小學(xué)五年級第一學(xué)期體育教案(新版)
- 北京市西城區(qū)2021-2022學(xué)年八年級下學(xué)期期末歷史試題(試題+答案)
- 土地綜合整治項(xiàng)目施工組織設(shè)計(jì)
- 大疆無人機(jī)租賃合同協(xié)議書
- HG∕T 4592-2014 離子膜法金屬陽極電解槽電極活性層
- 訂婚解除婚約協(xié)議書模板
- 進(jìn)入車間管理制度
- 急性肝衰竭的護(hù)理查房
- 卵巢癌教學(xué)查房課件
- 全國職業(yè)大賽(中職)ZZ006水利工程制圖與應(yīng)用賽項(xiàng)賽題第2套
- 監(jiān)控安裝項(xiàng)目計(jì)劃書
評論
0/150
提交評論