大數(shù)據(jù)存儲(chǔ)與處理-第五講.ppt_第1頁
大數(shù)據(jù)存儲(chǔ)與處理-第五講.ppt_第2頁
大數(shù)據(jù)存儲(chǔ)與處理-第五講.ppt_第3頁
大數(shù)據(jù)存儲(chǔ)與處理-第五講.ppt_第4頁
大數(shù)據(jù)存儲(chǔ)與處理-第五講.ppt_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

,推薦,! Cloudera Live ,! 基于HUE ,(Hadoop User Experience)的 試驗(yàn)環(huán)境 ,! 可以試驗(yàn)Hive/,Pig/Impala/ Solr/Spark/,Oozie/HBase/ HDFS ,第2頁 ,Hbase簡介,! 為什么需要HBase ,! HBase特性及實(shí)現(xiàn)原理 ,! HBase操作的內(nèi)部流程 ,本節(jié)目錄 ,! 為什么需要HBase ,! HBase特性及實(shí)現(xiàn)原理 ,! HBase操作的內(nèi)部流程 ,Google應(yīng)用場景 ,! 快速檢索頁面 ,第5頁 ,具體需求 ,! Google的結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)需求 , 低成本可擴(kuò)展地處理以十億為單位的數(shù)據(jù)表(海量) , 眾多的列,但并非每列都有數(shù)據(jù),且經(jīng)常只訪問很少的列(稀疏) 高吞吐量和高并發(fā)(快速) ,! HBase的原型 Google Bigtable ,RDBMS能滿足嗎? ,cache,parallel,MapReduce+GFS能滿足嗎? , n , , ,Map/Reduce ,n ,?,! MapReduce程序能滿足高并發(fā)要求嗎? ! 全文件掃描效率行嗎? ,答案 ,! 因?yàn)镽DBMS和MapReduce不能滿足要求海量結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)需求 , 眾多的列,但并非每列都有數(shù)據(jù),且經(jīng)常只訪問很少的列(稀疏) 低成本可擴(kuò)展地處理以十億為單位的數(shù)據(jù)表(海量) 高吞吐量和高并發(fā)(快速) ,! 所以: , Bigtable HBase ,本節(jié)目錄 ,! 為什么需要HBase ,! HBase特性及實(shí)現(xiàn)原理 ,! HBase操作的內(nèi)部流程 ,HBase 面向列的、基于HDFS、高性能 分布式數(shù)據(jù)庫系統(tǒng)() ,稀疏 ,海量 ,快速 ,稀疏 ,稀疏與HBase面向列的數(shù)據(jù)模型 ,稀疏與HBase面向列的數(shù)據(jù)模型 ,! 提高訪問少數(shù)列的效率 ! 提高壓縮比 ,稀疏與HBase面向列的數(shù)據(jù)模型 ,value = Map( TableName, RowKey, ColumnKey, Version ) ,!,TableName 表名 字符串 數(shù)據(jù)表的標(biāo) 識(shí) ,!,RowKey 行關(guān)鍵字 字符串 最大長度64KB 用來檢索記錄,的主鍵 ,!,ColumnKey 列關(guān)鍵字 列族+限定 詞 字符串 數(shù)據(jù)以列族 為準(zhǔn)存儲(chǔ) 列族需提前 定義 , 限定詞可使 用時(shí)生成 ,!,Version 版本 適應(yīng)同一數(shù)據(jù) 在不同時(shí)間的 變化(網(wǎng)頁) 不同版本的同 一數(shù)據(jù)按時(shí)間 倒序排列,最 新的在最前面 ,HBase表實(shí)例 ,行數(shù) 1 2 ,行關(guān)鍵字 com.bbc.www com.bbc.www n.www n.www n.www n.www n.www ,版本 t2 t1 t7 t6 t5 t4 t3,列族:contents a1 d4 c3 b2,列族:anchor anchor:com.bbc.www = “BBC” anchor:=“CNN” anchor:my.look.ca=“CNN.com” ,海量 ,邏輯表到HDFS物理存儲(chǔ)的映射 ! 關(guān)鍵:以列族為單位進(jìn)行物理存儲(chǔ) ,行關(guān)鍵字 n.www n.www,版本 t5 t4,列族:contents d4 c3,n.www,t3,b2,行關(guān)鍵字 n.www n.www ,版本 t7 t6 ,列族:anchor anchor:=”CNN” anchor:my.look.ca=”CNN.com” ,!,行 列族 = 面 Store , 一行數(shù)據(jù)看作一個(gè)面 一個(gè)列族看作一個(gè)Store 行由若干列族構(gòu)成 面是若干Store構(gòu)成 Store即物理存儲(chǔ)基本單元 n.www的一行數(shù)據(jù)視為轉(zhuǎn)換為兩張物理存儲(chǔ)表(Store)進(jìn)行存儲(chǔ) ,列族contents物理表 ,列族anchor物理表 ,HBase的存儲(chǔ)架構(gòu)使用者 ,! Client , HBase功能使用者 與Master間進(jìn)行管,理操作 , 與RegionServer間,進(jìn)行數(shù)據(jù)讀寫操作 ,HBase的存儲(chǔ)架構(gòu)協(xié)調(diào)者 ,! Zookeeper , 協(xié)同管理節(jié)點(diǎn) , 分布式協(xié)作、分布 式同步、配置管理 存儲(chǔ)了Master的地 址和RegionServer 狀態(tài)信息 ,HBase的存儲(chǔ)架構(gòu)管理者 ,! Master , 控制節(jié)點(diǎn) , 管理對數(shù)據(jù)表的增,刪改和查詢操作 , 調(diào)整RegionServer,的負(fù)載均衡和 Region分布 , 可有多個(gè)Master ,HBase的存儲(chǔ)架構(gòu)存儲(chǔ)者 ,! ! ! !,RegionServer 處理數(shù)據(jù)讀寫請求 HDFS文件交互 Region 表中的分區(qū) 多個(gè)Store 1個(gè)HLog Store 數(shù)據(jù)存儲(chǔ)核心 MemStore/StoreFile HLog , 保障可靠性 MemStore數(shù)據(jù)鏡像 持久化到文件 ,邏輯表到物理存儲(chǔ)逐步拆解 ,! Table Region Store HFile Block HDFS File ,邏輯表到物理存儲(chǔ)Table Region ,!,Table到Region 一張表是分為HRegion單元并存儲(chǔ)在RegionServer上 提高大表存儲(chǔ)的效率 表數(shù)據(jù)在行上按RowKey排序后,分為多個(gè)Region進(jìn)程存儲(chǔ) 多個(gè)Region可以存放在一個(gè)RegionServer上 Region的分裂 “ 表在一開始時(shí)只有一個(gè)Region,隨著數(shù)據(jù)不斷增加,Region會(huì)越變越大 “ 當(dāng)超過一個(gè)閾值時(shí),Region會(huì)等分為兩個(gè) “ 這個(gè)過程會(huì)不斷重復(fù),HRegion逐漸增加 ,邏輯表到物理存儲(chǔ)Region Store ,!,Region到Store HRegion是分布式存儲(chǔ)的最小單元,但并不是物理存儲(chǔ)的最小單元 Region劃分為若干Store進(jìn)行存儲(chǔ),每個(gè)Store保存一個(gè)列族中的數(shù)據(jù) ,邏輯表到物理存儲(chǔ)Store HFile ,!,Store到File Store由兩部分組成,MemStore和StoreFile “ MemStore是RegionServer上的一段內(nèi)存空間 “ StoreFile是HDFS中的一個(gè)HFile文件 數(shù)據(jù)庫操作會(huì)先存入MemStore,當(dāng)MemStore滿了后會(huì)轉(zhuǎn)存到StoreFile中(?) 1個(gè)Store可包含多個(gè)StoreFile,并建立了StoreFile索引 ,邏輯表到物理存儲(chǔ)HFile Block ,邏輯表到物理存儲(chǔ)HFile HDFS Block ,速度 ,速度的關(guān)鍵 ,! 第1步:快速找到RegionServer ! 第2步:快速找到HFile ,第1步:定位RegionServer ,! 如何通過表名和行關(guān)鍵字找到所在的RegionServer? ,定位RS找到Region(.META.表) ,!,.META.表 , 存儲(chǔ)了所有表的元數(shù)據(jù)信息 支持以表名和行關(guān)鍵字(或關(guān)鍵字的范圍)查找到對應(yīng)的RegionServer “ 行關(guān)鍵字:表名、此Region起始關(guān)鍵字和Region的id info:regioninfo:記錄Region的一些必要信息 info:server:Region所在的RegionServer的地址和端口 infor.serverstartcode:RegionServer對應(yīng).META.表持有進(jìn)程的啟動(dòng)時(shí)間 第32頁 ,行關(guān)鍵字 ,列1 info:regioninfo,列2 info:server,列3 info:serverstartcode,定位RS找到.META.(-ROOT-表) ,!,-ROOT-表 , 根數(shù)據(jù)表,存放了.META.表的HRegionServer信息,存放在Zookeeper服務(wù)器 -ROOT-表的Region不會(huì)被拆分,永遠(yuǎn)只有一個(gè) 客戶端首次訪問獲取-ROOT-表的位置并存入緩存 行關(guān)鍵字:每個(gè).META.表的Region索引 info:regioninfo:記錄Region的一些必要信息 info:server:Region所在的RegionServer的地址和端口 info.serverstartcode:RegionServer對應(yīng).META.表持有進(jìn)程的啟動(dòng)時(shí)間 ,行關(guān)鍵字 .META. Region Key,列1 info:regioninfo,列2 info:server,列3 info:serverstartcode,第2步快速找到HFile ,定位HFileMemstore與Store對StoreFile的索引 ,! B+ tree(RDMBS時(shí)代的索引表) LSM tree 查詢優(yōu)化 VS. 插入優(yōu)化 內(nèi)存 VS. 磁盤 /viewdoc/summary?doi=4.2782 ,定位HFileMemstore帶來的問題 ,! memStore帶來的問題:RegionServer宕機(jī)怎么辦? , Write-Ahead Logging (WAL)+HLog ,本節(jié)目錄 ,! 為什么需要HBase ,! HBase特性及實(shí)現(xiàn)原理 ,! Hbase的部署與操作流程 ,HBase典型物理部署 ,! !,MasterServer控制節(jié)點(diǎn) HBase的HMaster HDFS的NameNode MapReduce的JobTracker RegionServer , R、M1、M2存放-ROOT-表 和.META.表 數(shù)據(jù)表存放在Region Server U1至Un中 Region Server U1至Un部署 了HDFS的DataNode組件以 提高數(shù)據(jù)訪問效率 Region Server U1至Un運(yùn)行 MapReduce作業(yè)時(shí)的 TaskTracker ,HBase讀/寫數(shù)據(jù)流程 ,!,Client首次讀取tableA中第1行數(shù)據(jù): 從Zookkeeper中獲取-ROOT-表的Region服務(wù)器R(步驟) 從Region Server R中根據(jù)表的名稱索引找到.META.表所在的Region服務(wù)器M1(步驟) Client根據(jù)表名和行關(guān)鍵字找到對應(yīng)的Region服務(wù)器U1(步驟) 使用接口從U1進(jìn)行數(shù)據(jù)讀取/向U1寫入數(shù)據(jù)(步驟,MemStore/LSM tree) ,HBase表結(jié)構(gòu) 操作流程 ,! ! ! !,MasterServer維護(hù)表結(jié)構(gòu) 增加、刪除表,增加、刪除列族 Client通過Shell指令或API接 口向Master Server發(fā)出請求 (步驟) 創(chuàng)建表 默認(rèn)情況在空間可用的 RegionServer上新增1個(gè) Region(步驟) 更新.META.表 所有后續(xù)的寫入操作都會(huì)將數(shù) 據(jù)存入此Region中,直到 Region尺寸達(dá)到一定程度分裂 為兩個(gè)Region,并不斷重復(fù) 動(dòng)態(tài)增加列族 , Master Server會(huì)根據(jù)用戶請 求,查找到可用的Region Server,并在相應(yīng)的Region Server上為新的列族創(chuàng)建 storeFile(步驟) , RegionServer狀態(tài)維護(hù) ! RegionServer在啟動(dòng)時(shí),在 Zookeeper上server列表目錄下創(chuàng) 建代表自己的文件,并獲得該文件 獨(dú)占鎖 ! MasterServer通過訂閱方式收到 Zookeeper發(fā)來的server列表目錄,下的文件新增或刪除消息(步驟),,以了解RegionServer狀況 ! RegionServer通過心跳消息與,Zookeeper之間保持會(huì)話(步驟) ,! 節(jié)點(diǎn)或網(wǎng)絡(luò)故障導(dǎo)致某個(gè) RegionServer與Zookeeper之間 的會(huì)話斷開時(shí),Zookeeper會(huì)釋放 對應(yīng)文件的獨(dú)占鎖,會(huì)被Master Server通過輪詢發(fā)現(xiàn),知道 Region Server出現(xiàn)了問題,并進(jìn) 行隨后的Region再分配和數(shù)據(jù)恢 復(fù)操作 ,MasterServer狀態(tài)維護(hù) ,! MasterServer狀態(tài)影響表結(jié)構(gòu)、 Region分配與合并、負(fù)載均衡等 ! Master Server維護(hù)的數(shù)據(jù),例如 Region分布、表結(jié)構(gòu)信息,都來 自其他節(jié)點(diǎn)的復(fù)制 ,! 利用Zookeeper進(jìn)行Master Server熱備份的機(jī)制提高HBase的 可用性 ,! Master Ser

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論