服務(wù)器
概述
創(chuàng)新互聯(lián)長期為近1000家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為濟(jì)陽企業(yè)提供專業(yè)的成都做網(wǎng)站、成都網(wǎng)站建設(shè),濟(jì)陽網(wǎng)站改版等技術(shù)服務(wù)。擁有十多年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。·Hbase數(shù)據(jù)模型
Hbase邏輯視圖
注意上圖中的英文說明
Hbase基本概念
RowKey:是Bytearray,是表中每條記錄的“主鍵”,方便快速查找,Rowkey的設(shè)計非常重要。
ColumnFamily:列族,擁有一個名稱(string),包含一個或者多個相關(guān)列
Column:屬于某一個columnfamily,familyName:columnName,每條記錄可動態(tài)添加
VersionNumber:類型為Long,默認(rèn)值是系統(tǒng)時間戳,可由用戶自定義
Value(Cell):Bytearray
·Hbase物理模型
每個columnfamily存儲在HDFS上的一個單獨文件中,空值不會被保存。
Key和 Version number在每個 column family中均有一份;
HBase為每個值維護(hù)了多級索引,即:
物理存儲:
1、Table中所有行都按照rowkey的字典序排列;
2、Table在行的方向上分割為多個Region;
3、Region按大小分割的,每個表開始只有一個region,隨著數(shù)據(jù)增多,region不斷增大,當(dāng)增大到一個閥值的時候,region就會等分會兩個新的region,之后會有越來越多的region;
4、Region是Hbase中分布式存儲和負(fù)載均衡的最小單元,不同Region分布到不同RegionServer上。
5、Region雖然是分布式存儲的最小單元,但并不是存儲的最小單元。Region由一個或者多個Store組成,每個store保存一個columnsfamily;每個Strore又由一個memStore和0至多個StoreFile組成,StoreFile包含HFile;memStore存儲在內(nèi)存中,StoreFile存儲在HDFS上。
·HBase架構(gòu)及基本組件
Hbase基本組件說明:
Client
ü包含訪問HBase的接口,并維護(hù)cache來加快對HBase的訪問,比如region的位置信息
Master
ü為Regionserver分配region
ü負(fù)責(zé)Regionserver的負(fù)載均衡
ü發(fā)現(xiàn)失效的Regionserver并重新分配其上的region
ü管理用戶對table的增刪改查操作
RegionServer
üRegionserver維護(hù)region,處理對這些region的IO請求
üRegionserver負(fù)責(zé)切分在運行過程中變得過大的region
Zookeeper作用
ü通過選舉,保證任何時候,集群中只有一個master,Master與RegionServers啟動時會向ZooKeeper注冊
ü存貯所有Region的尋址入口
ü實時監(jiān)控Regionserver的上線和下線信息。并實時通知給Master
ü存儲HBase的schema和table元數(shù)據(jù)
ü默認(rèn)情況下,HBase管理ZooKeeper 實例,比如, 啟動或者停止ZooKeeper
üZookeeper的引入使得Master不再是單點故障
Write-Ahead-Log(WAL)
該機(jī)制用于數(shù)據(jù)的容錯和恢復(fù):
每個HRegionServer中都有一個HLog對象,HLog是一個實現(xiàn)WriteAheadLog的類,在每次用戶操作寫入MemStore的同時,也會寫一份數(shù)據(jù)到HLog文件中(HLog文件格式見后續(xù)),HLog文件定期會滾動出新的,并刪除舊的文件(已持久化到StoreFile中的數(shù)據(jù))。當(dāng)HRegionServer意外終止后,HMaster會通過Zookeeper感知到,HMaster首先會處理遺留的HLog文件,將其中不同Region的Log數(shù)據(jù)進(jìn)行拆分,分別放到相應(yīng)region的目錄下,然后再將失效的region重新分配,領(lǐng)取到這些region的HRegionServer在Load Region的過程中,會發(fā)現(xiàn)有歷史HLog需要處理,因此會ReplayHLog中的數(shù)據(jù)到MemStore中,然后flush到StoreFiles,完成數(shù)據(jù)恢復(fù)
HBase容錯性
Master容錯:Zookeeper重新選擇一個新的Master
ü無Master過程中,數(shù)據(jù)讀取仍照常進(jìn)行;
ü無master過程中,region切分、負(fù)載均衡等無法進(jìn)行;
RegionServer容錯:定時向Zookeeper匯報心跳,如果一旦時間內(nèi)未出現(xiàn)心跳,Master將該RegionServer上的Region重新分配
到其他RegionServer上,失效服務(wù)器上“預(yù)寫”日志由主服務(wù)器進(jìn)行分割并派送給新的RegionServer
Zookeeper容錯:Zookeeper是一個可靠地服務(wù),一般配置3或5個Zookeeper實例
Region定位流程:
尋找RegionServer
ZooKeeper-->-ROOT-(單Region)-->.META.-->用戶表
-ROOT-
ü表包含.META.表所在的region列表,該表只會有一個Region;
üZookeeper中記錄了-ROOT-表的location。
.META.
ü表包含所有的用戶空間region列表,以及RegionServer的服務(wù)器地址。
·Hbase使用場景
storing large amounts of data(100s ofTBs) needhigh write throughput needefficient random access(key lookups) within large datasets needto scale gracefully with data forstructured and semi-structured data don\'tneed fullRDMS capabilities(cross row/cross table transaction,joins,etc.)
大數(shù)據(jù)量存儲,大數(shù)據(jù)量高并發(fā)操作
需要對數(shù)據(jù)隨機(jī)讀寫操作
讀寫訪問均是非常簡單的操作
·Hbase與HDFS對比
兩者都具有良好的容錯性和擴(kuò)展性,都可以擴(kuò)展到成百上千個節(jié)點;
HDFS適合批處理場景
不支持?jǐn)?shù)據(jù)隨機(jī)查找
不適合增量數(shù)據(jù)處理
不支持?jǐn)?shù)據(jù)更新
網(wǎng)頁題目:hbase簡介
網(wǎng)頁路徑:http://www.rwnh.cn/article12/cjoedc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、云服務(wù)器、響應(yīng)式網(wǎng)站、網(wǎng)站建設(shè)、做網(wǎng)站、企業(yè)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)