




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1第7講HBase列數(shù)據(jù)技術(shù)21) HBase運(yùn)行機(jī)制簡(jiǎn)介2) HBase與HDFS3) HBase的對(duì)外接口4) ZooKeeper的數(shù)據(jù)模型5) ZooKeeper的使用背景HBase 項(xiàng)目開(kāi)始于2006 by Chad Walters和Jim Kellerman at Powerset.受到 Google “Bigtable: A Distributed Storage System for Structured Data” 文章的啟發(fā).HBase release 1 與Hadoop 0.15.0 捆綁,發(fā)布于October 2007.HBase 是一個(gè)在HDFS上開(kāi)發(fā)的,面向列的,分布
2、式數(shù)據(jù).如果需要實(shí)時(shí)的,隨機(jī)讀寫(xiě)超大規(guī)模數(shù)據(jù)集,就可以用HBase這個(gè) Hadoop應(yīng)用.HBase不是數(shù)據(jù)庫(kù)和不支持SQLHBase可以在廉價(jià)硬件超大規(guī)模的稀疏表 Webtable就是其典型應(yīng)用的集群上,管理引入HBASE的-1數(shù)據(jù)庫(kù)系統(tǒng)已無(wú)法適應(yīng)大型分布式數(shù)據(jù)的需要改良的數(shù)據(jù)庫(kù)(副本、分區(qū)等)難于安裝與維護(hù)模型對(duì)數(shù)據(jù)的操作使數(shù)據(jù)的存貯變得復(fù)雜-2HBASE從設(shè)計(jì)理念上就為可擴(kuò)展做好了充分準(zhǔn)備空間的擴(kuò)展只需要加入結(jié)點(diǎn)使用表的概念,但不同于庫(kù),不支持SQL數(shù)據(jù)實(shí)質(zhì)上是一張極大的、非常稀疏的,存分布式文件系統(tǒng)上的表HBASE用例WebTable抓取網(wǎng)頁(yè)和相關(guān)每個(gè)頁(yè)面對(duì)應(yīng)一行,是個(gè)有百萬(wàn)行的大表要
3、基于此表進(jìn)行分析與對(duì)關(guān)鍵字進(jìn)行索引并由搜索引擎表需要并發(fā)地被眾多網(wǎng)頁(yè)抓取程序隨機(jī)地以及更新數(shù)據(jù)表內(nèi)容也要作為網(wǎng)頁(yè)實(shí)時(shí)緩存被大量用戶隨機(jī)HBase 數(shù)據(jù)模型數(shù)據(jù)存放在帶的表中. Tables 由rows和columns組成.Table cells單元格有版本 是HBase單元格時(shí)候的時(shí)間戳.列組成“列族”. 所有的列族成員有相同的前綴.物理上,所有的列族成員都一起存放在文件系統(tǒng)中. HBase實(shí)際上就是一個(gè)面向列族的器邏輯視圖Row KeyTime StampColumn ContentsColumn AnchorColumn “mime”my.look.ca“com.w ww”T9T8.COM
4、T6“<html>. “Text/htmlT5“<html>. “t3“<html>. “數(shù)據(jù)模型行“com.w行鍵列列Row KeyTime StampColumn ContentsColumn AnchorColumn “mime”my.look.caT9T8.COM“<html>. “Text/htmlww”T6T5“<html>. “t3“<html>. “數(shù)據(jù)模型行每行數(shù)據(jù)有一可排序的關(guān)鍵字和任意列項(xiàng)字符串、整數(shù)、二進(jìn)制串甚至與串行化的結(jié)構(gòu)都可以作為行鍵表按照行鍵的“逐字節(jié)排序”順序?qū)π羞M(jìn)行有序化處理表內(nèi)數(shù)據(jù)非常
5、稀疏,不同的行的列的數(shù)完全目可以大不相同數(shù)據(jù)模型行可以只對(duì)一行上“鎖”對(duì)行的寫(xiě)操作是始終是“”的數(shù)據(jù)模型列列必須用族(family)來(lái)定義任意一列有如下形式“族:”其中,族和都可為任意形式的串物理上將同“族”數(shù)據(jù)數(shù)據(jù)可通過(guò)時(shí)間戳區(qū)分版本在一起族數(shù)據(jù)模型列Row KeyTimeColumnStampContentsColumn AnchorColumn “mime”my.look.ca“com.w ww”T9T8.COMT6“<html>. “Text/htmlT5“<html>. “t3“<html>物理視圖Row KeyTime StampColumn:
6、mimeCom.wwwT6text/htmlRow KeyTime StampColumn: AnchorCom.wwwT9Anchor:T5Anchor:my.look.ca.COMRow KeyTime StampColumn: ContentsCom.wwwT6“<html>.”T5“<html>.”T3“<html>.”HTableRow KeyTime StampColumn ContentsColumn AnchorColumn “mime”my.look.ca“com.w ww”T9T8.COMT6“<html>. “Text/ht
7、mlT5“<html>. “t3“<html>. “HBase vs RDBMSHBase 是一個(gè)面向列的,分布式數(shù)據(jù)統(tǒng).系 通過(guò)在HDFS上提供隨機(jī)讀寫(xiě),來(lái)解決Hadoop不能處理的問(wèn)題. 適合對(duì)大表進(jìn)行處理,可以并行讀寫(xiě)HBase設(shè)計(jì)的目標(biāo)是: 表可以很高 (數(shù)十億行), 表可以很寬(數(shù)百萬(wàn)列), 水平分區(qū),并可以在上千個(gè)普用機(jī)上自動(dòng)HBase特點(diǎn)沒(méi)有真正的索引 行是順序的,列也是,不索引膨脹的問(wèn)題,自動(dòng)分區(qū)性能和表的大小無(wú)關(guān). 在表增長(zhǎng)的時(shí)候,表會(huì)自動(dòng)到可用節(jié)點(diǎn)上.線性擴(kuò)展和新節(jié)點(diǎn)自動(dòng)處理 增加一個(gè)節(jié)點(diǎn)指向現(xiàn)有集群,運(yùn)行Regionserver,區(qū)域自動(dòng)重新平衡,
8、實(shí)現(xiàn)均勻分布.成區(qū)域,并分布HBase 特點(diǎn)硬件 Clusters集群是由 $1,000$5,000 的構(gòu),節(jié)點(diǎn)架 而RDBMS 需要大量I/O,因此需要昂貴的容錯(cuò) 大量節(jié)點(diǎn)意味著每個(gè)節(jié)點(diǎn)重要性不突出,不擔(dān)心單個(gè)節(jié)點(diǎn)的失敗.批處理. MapReduce集能,使得可以采用并行的分布式作業(yè),根據(jù)數(shù)據(jù)的位置來(lái)處理.系統(tǒng)總體結(jié)構(gòu)Zoo KeeperClusterHDFSClusterHBase master node協(xié)調(diào)Master 負(fù)載較輕,一些regionserver. 主要管理啟動(dòng) bootstrap,指派 regions給regionservers, 修復(fù)regionserver 故障.Reg
9、ionservers 負(fù)責(zé)區(qū)域管理,響應(yīng)客戶的讀寫(xiě)請(qǐng)求. 區(qū)域的劃分,通知master新的子區(qū)域區(qū)域(Regions)子表HBase自動(dòng)的把表水平劃分成區(qū)域 regions. 每個(gè)區(qū)域由表中的行的子集.區(qū)域由它所屬于的表,第一行及最后一行來(lái)表示.區(qū)域是HBase集群 分布數(shù)據(jù)的最小 隨著表變大,區(qū)域的個(gè)數(shù)也在增加. 如果一個(gè)表對(duì)集群中任何服務(wù)器太大,表將會(huì)被放到服務(wù)器群中,每個(gè)節(jié)點(diǎn)負(fù)責(zé)來(lái)管理區(qū)域的一個(gè)子集.元數(shù)據(jù)(Meta)表 全部用戶區(qū)域的屬性數(shù)據(jù)都中元數(shù)據(jù)表區(qū)域中數(shù)據(jù)起止行狀態(tài)等、區(qū)域“在線” 保存區(qū)域服務(wù)器地址 元數(shù)據(jù)表也可包含多個(gè)區(qū)域,區(qū)域?qū)傩詳?shù)據(jù)在“根”結(jié)點(diǎn)上根(ROOT)表 只存包
10、含一個(gè)區(qū)域 將元數(shù)據(jù)中的區(qū)域到區(qū)域服務(wù)器元數(shù)據(jù)服務(wù)器位置以及數(shù)據(jù)區(qū)域了哪些元區(qū)域服務(wù)器(Region Server)職能負(fù)責(zé)處理用戶的讀寫(xiě)請(qǐng)求服務(wù)器(Master Server)上報(bào)的狀態(tài),并獲取需要服務(wù)的區(qū)域?yàn)樘岣咝?,消息通過(guò)捎帶(pigback)方式通過(guò)“心跳”分組進(jìn)行傳遞區(qū)域服務(wù)器“寫(xiě)”寫(xiě)數(shù)據(jù)首先寫(xiě)入“預(yù)寫(xiě)日志” WAL對(duì)于一個(gè)區(qū)域服務(wù)器而言,對(duì)其提供服務(wù)的所有區(qū)域的“寫(xiě)”操作日志都在同一個(gè)日志中數(shù)據(jù)并非直接寫(xiě)文件系統(tǒng),而是先緩存, 緩存到一定數(shù)量再批量寫(xiě)入寫(xiě)入完成后在日志中做標(biāo)記區(qū)域服務(wù)器“讀”區(qū)域服務(wù)器現(xiàn)在內(nèi)存的緩存中查找,如果命中請(qǐng)求,則直接服務(wù)如果多個(gè)版本,則返回順序按照從最新
11、到最老區(qū)域服務(wù)器合并如果文件(HFile)數(shù)量超過(guò)閾值,區(qū)域服務(wù)器會(huì)進(jìn)行一次合并(Compaction)合并操作也周期性進(jìn)行合并可與區(qū)域服務(wù)器響應(yīng)用戶的讀寫(xiě)請(qǐng)求并發(fā)進(jìn)行如果讀寫(xiě)請(qǐng)求與合并區(qū)域相關(guān),讀寫(xiě)操作先掛起,直到合并操作完成區(qū)域服務(wù)器分割當(dāng)區(qū)域文件大過(guò)閾值后,區(qū)域文件會(huì)按照行的方式對(duì)半進(jìn)行分割(Split)操作分割也作為一種請(qǐng)求被區(qū)域服務(wù)器處理被分割區(qū)域先離線區(qū)域服務(wù)器在元表中生成子表元主服務(wù)器在得知分割操作進(jìn)行后,將子表分配給新的區(qū)域服務(wù)器進(jìn)行服務(wù)被分割區(qū)域通過(guò)回收機(jī)制回收失效恢復(fù)由于檢測(cè)沒(méi)有心跳,主服務(wù)器能夠探知區(qū)域服務(wù)器的失效主服務(wù)器將失效服務(wù)器所提供服務(wù)的區(qū)域重新分配給其它區(qū)域服務(wù)
12、器原失效區(qū)域服務(wù)器的“預(yù)寫(xiě)日志” 由主服務(wù)器進(jìn)行分割,并派送給新的區(qū)域服務(wù)器客戶端連接到ZooKeeper集群獲取根區(qū)域數(shù)據(jù)和元數(shù)據(jù)的位置在元數(shù)據(jù)中查找需要行所在的區(qū)域,并定位提供該區(qū)域服務(wù)的區(qū)域服務(wù)器直接與區(qū)域服務(wù)器交互以獲取數(shù)據(jù)根區(qū)域數(shù)據(jù)、元數(shù)據(jù)以及用戶區(qū)域都被客戶端緩存,以備下次使用安裝配置并解壓安裝文件: % tar xzf hbase-0.X.tar.gz 需要ZooKeeper支持,本身帶zookeeper.jar包設(shè)置CLASS_PATH及相應(yīng)的環(huán)境 %export HBASE_HOME=/home/hbase/hbase-0.X %export PATH=$PATH:$HBAS
13、E_HOME/bin編輯設(shè)置環(huán)境 HBase conf下 hbase-env.sh, regionservers,hbase-site.xml等HBase依賴于ZooKeeperHBase管理一個(gè)ZooKeeper實(shí)例,作為集群的權(quán)威.HBase負(fù)責(zé)根目錄表的位置,當(dāng)前集群master的地址等的管理如果區(qū)域分配過(guò)程中,有服務(wù)器ZooKeeper來(lái)協(xié)調(diào)分配.,通過(guò)HBase 通過(guò)Hadoop文件系統(tǒng)API來(lái)持久化存儲(chǔ)數(shù)據(jù).模式設(shè)計(jì)要注意HBase表 Cells是有版本的, rows 是有序的, columns 是以列族出現(xiàn)的.HBase可以以極小的開(kāi)銷,管理較寬的稀疏表 HBase沒(méi)有內(nèi)置對(duì) j
14、oin的支持 但是寬表足夠容納相關(guān)的數(shù)據(jù) 基本不需要做join行鍵行鍵 應(yīng)該將精力集中于設(shè)計(jì)行鍵. 設(shè)計(jì)復(fù)合鍵時(shí),可能需要用0來(lái)填充數(shù)據(jù),使得 行鍵可以正確排序. 如果鍵是整數(shù),則應(yīng)該使用二進(jìn)制形式 而不是把數(shù)據(jù)持久化成字符串類型.數(shù)據(jù)是通過(guò)行鍵 設(shè)計(jì)時(shí)要知道如何的這些數(shù)據(jù).啟動(dòng)HBase和shell啟動(dòng)Hbase$ start-hbase.sh 這將啟動(dòng)一個(gè) HBase instance啟動(dòng)HBase Shell $ hbase shell,會(huì)出現(xiàn)類似下面的場(chǎng)景 HBase Shell; enter help<RETURN> for list ofsupportedds. Typ
15、e “exit<RETURN>” toleave the HBase Shell >36主令主令 create 創(chuàng)建表 describe 描述表 enable/disable 表激活/取消 drop 刪除表 get/put 表讀寫(xiě)create 創(chuàng)建表創(chuàng)建一個(gè)包含一列的表hbase> create test, datahbase> list test38Put添加數(shù)據(jù)用put添加數(shù)據(jù)hbase>put test, row1, data:1, value1hbase>put test, row2, data:2, value2hbase> put &
16、#39;test', 'row3', 'data:3', 'value339Scan查看數(shù)據(jù)hbase>scan 'test'ROWRow1Row2 Row3COLUMN+CELLcolumn=data:1, timestamp=1240148026198, value=value1column=data:2, timestamp=1240148040035, value=value2 column=data:3, timestamp=1240148047497, value=value33row(s) in 0.0825s
17、econds40刪除表先設(shè)置為禁用hbase> disable 'test'INFO.HBaseAdmin: Disabled test 0row(s) in 6.0426 seconds再刪除hbase> drop test INFO.HBaseAdmin: Deleted test41Stop HBase停止HBase instance :$ stop-hbase.sh42HBase APIHBaseConfiguration addResource()HTable put() get()ResultScanner next()UI用戶界面HBase 在mast
18、er上運(yùn)行了一個(gè)web server,提供集群的狀態(tài)視圖. 默認(rèn)端口是 60010.master UI 顯示了基本的屬性 如版本,集群,請(qǐng)求頻率,集群列表,加入的regionservers等.在界面上點(diǎn)擊一個(gè)regionserver 會(huì)進(jìn)入它所運(yùn)行的web server. 列出了這個(gè)服務(wù)器上所有區(qū)域的列表及其它基本的屬性值(可用資源,請(qǐng)求頻率).Bulk Load批量加載HBase可以批量加載,從 MapReduce把內(nèi)部格式顯示的數(shù)據(jù),直接寫(xiě)入文件系統(tǒng),從而實(shí)現(xiàn)批量加載.相關(guān)工具的loads.html見(jiàn)ZooKeeper分布式應(yīng)用的協(xié)調(diào)器 大部分分布式應(yīng)用需要一個(gè)主控、協(xié)調(diào)器或器,來(lái)管理物理
19、分布的子進(jìn)程(如資源、任務(wù)分配等)為什么需要ZooKeeper?目前,大部分應(yīng)用需要開(kāi)發(fā)私有的協(xié)調(diào)程序, 缺乏一個(gè)通用的機(jī)制協(xié)調(diào)程序的反復(fù)編寫(xiě)浪費(fèi),且難以形成通用、伸縮性協(xié)調(diào)器ZooKeeper:提供通用的分布式鎖服務(wù),用以協(xié)調(diào)分布式應(yīng)用(如,為HBase提供服務(wù))安裝ZooKeeper解壓: % tar xzf zookeeper-0.X.tar.gz設(shè)置環(huán)境: %export ZOOKEEPER_INSTALL=/home/tom/zookeeper-0.X %export PATH=$PATH:$ZOOKEEPER_INSTALL/bin運(yùn)行一個(gè)本地的ZooKeeper server: % zkServer.sh start實(shí)現(xiàn)ZooKeeper 服務(wù)有兩種運(yùn)行模式.模式standalone mode 只有一個(gè)ZooKeeper server,用于測(cè)試,不能保證高可用性和恢復(fù)性.模式repli
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度診所執(zhí)業(yè)醫(yī)師醫(yī)療風(fēng)險(xiǎn)防控聘用合同
- 二零二五年度手車轉(zhuǎn)讓與綠色出行推廣合同
- 二零二五年度投資分紅股收益分配協(xié)議
- 二零二五年度汽車展覽會(huì)參展商展位電力合同
- 2025年度道路破碎修復(fù)與再生利用合同
- 2025年度青貯收割作業(yè)與農(nóng)業(yè)物聯(lián)網(wǎng)平臺(tái)合作協(xié)議
- 二零二五年度口腔診所醫(yī)生培訓(xùn)與薪酬管理合同
- 二零二五年度商業(yè)秘密保護(hù)與員工保密義務(wù)合同
- 二零二五年度多功能辦公場(chǎng)所租賃服務(wù)協(xié)議
- 2025年度蔬菜大棚承包與品牌授權(quán)合作協(xié)議
- 老年骨質(zhì)疏松性疼痛診療與管理中國(guó)專家共識(shí)(2024版)解讀
- 2024-2030年全球及中國(guó)氮化鎵射頻器件需求態(tài)勢(shì)與發(fā)展趨勢(shì)預(yù)測(cè)報(bào)告
- 年產(chǎn)50000噸再生鋁精深加工生產(chǎn)線項(xiàng)目可行性研究報(bào)告
- 華為認(rèn)證 HCIA-Security 安全 H12-711考試題庫(kù)(共800多題)
- 《主人翁精神》課件
- 欽針治療惡心嘔吐
- 第六章質(zhì)量和密度-基礎(chǔ)練(原卷版)
- 《稅收負(fù)擔(dān)對(duì)我國(guó)制造業(yè)資本金融化的影響研究》
- 中學(xué)美術(shù)《剪紙藝術(shù)》完整課件
- 現(xiàn)代家政導(dǎo)論-課件 5.1.3家庭管家
- 適用的法律法規(guī)和其他要求的符合性評(píng)價(jià)
評(píng)論
0/150
提交評(píng)論