国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 服務器 > Web服務器 > 正文

hbase 簡介

2024-09-01 13:53:05
字體:
來源:轉載
供稿:網友

概述

hbase簡介,hbase

HBase是一個構建在HDFS上的分布式列存儲系統;

HBase是基于GoogleBigTable模型開發的,典型的key/value系統;

HBase是ApacheHadoop生態系統中的重要一員,主要用于海量結構化數據存儲;

從邏輯上講,HBase將數據按照表、行和列進行存儲。

與hadoop一樣,Hbase目標主要依靠橫向擴展,通過不斷增加廉價的商用服務器,來增加計算和存儲能力。

Hbase表的特點

大:一個表可以有數十億行,上百萬列;

無模式:每行都有一個可排序的主鍵和任意多的列,列可以根據需要動態的增加,同一張表中不同的行可以有截然不同的列;

面向列:面向列(族)的存儲和權限控制,列(族)獨立檢索;

稀疏:空(null)列并不占用存儲空間,表可以設計的非常稀疏;

數據多版本:每個單元中的數據可以有多個版本,默認情況下版本號自動分配,是單元格插入時的時間戳;

數據類型單一:Hbase中的數據都是字符串,沒有類型。

·Hbase數據模型

Hbase邏輯視圖

hbase簡介,hbase

注意上圖中的英文說明

Hbase基本概念

RowKey:是Bytearray,是表中每條記錄的“主鍵”,方便快速查找,Rowkey的設計非常重要。
ColumnFamily:列族,擁有一個名稱(string),包含一個或者多個相關列
Column:屬于某一個columnfamily,familyName:columnName,每條記錄可動態添加
VersionNumber:類型為Long,默認值是系統時間戳,可由用戶自定義
Value(Cell):Bytearray

·Hbase物理模型

每個columnfamily存儲在HDFS上的一個單獨文件中,空值不會被保存。

Key和 Version number在每個 column family中均有一份;

HBase為每個值維護了多級索引,即:

物理存儲:

1、Table中所有行都按照rowkey的字典序排列;

2、Table在行的方向上分割為多個Region;

3、Region按大小分割的,每個表開始只有一個region,隨著數據增多,region不斷增大,當增大到一個閥值的時候,region就會等分會兩個新的region,之后會有越來越多的region;

4、Region是Hbase中分布式存儲和負載均衡的最小單元,不同Region分布到不同RegionServer上。

hbase簡介,hbase
 

5、Region雖然是分布式存儲的最小單元,但并不是存儲的最小單元。Region由一個或者多個Store組成,每個store保存一個columnsfamily;每個Strore又由一個memStore和0至多個StoreFile組成,StoreFile包含HFile;memStore存儲在內存中,StoreFile存儲在HDFS上。

hbase簡介,hbase

·HBase架構及基本組件

hbase簡介,hbase

Hbase基本組件說明:

Client

ü包含訪問HBase的接口,并維護cache來加快對HBase的訪問,比如region的位置信息

Master

ü為Regionserver分配region

ü負責Regionserver的負載均衡

ü發現失效的Regionserver并重新分配其上的region

ü管理用戶對table的增刪改查操作

RegionServer

üRegionserver維護region,處理對這些region的IO請求

üRegionserver負責切分在運行過程中變得過大的region

Zookeeper作用

ü通過選舉,保證任何時候,集群中只有一個master,Master與RegionServers啟動時會向ZooKeeper注冊

ü存貯所有Region的尋址入口

ü實時監控Regionserver的上線和下線信息。并實時通知給Master

ü存儲HBase的schema和table元數據

ü默認情況下,HBase管理ZooKeeper 實例,比如, 啟動或者停止ZooKeeper

üZookeeper的引入使得Master不再是單點故障

hbase簡介,hbase

Write-Ahead-Log(WAL)

hbase簡介,hbase

該機制用于數據的容錯和恢復:

每個HRegionServer中都有一個HLog對象,HLog是一個實現WriteAheadLog的類,在每次用戶操作寫入MemStore的同時,也會寫一份數據到HLog文件中(HLog文件格式見后續),HLog文件定期會滾動出新的,并刪除舊的文件(已持久化到StoreFile中的數據)。當HRegionServer意外終止后,HMaster會通過Zookeeper感知到,HMaster首先會處理遺留的HLog文件,將其中不同Region的Log數據進行拆分,分別放到相應region的目錄下,然后再將失效的region重新分配,領取到這些region的HRegionServer在Load Region的過程中,會發現有歷史HLog需要處理,因此會ReplayHLog中的數據到MemStore中,然后flush到StoreFiles,完成數據恢復

HBase容錯性

Master容錯:Zookeeper重新選擇一個新的Master

ü無Master過程中,數據讀取仍照常進行;

ü無master過程中,region切分、負載均衡等無法進行;

RegionServer容錯:定時向Zookeeper匯報心跳,如果一旦時間內未出現心跳,Master將該RegionServer上的Region重新分配

到其他RegionServer上,失效服務器上“預寫”日志由主服務器進行分割并派送給新的RegionServer

Zookeeper容錯:Zookeeper是一個可靠地服務,一般配置3或5個Zookeeper實例

Region定位流程:


hbase簡介,hbase

尋找RegionServer

ZooKeeper-->-ROOT-(單Region)-->.META.-->用戶表

-ROOT-

ü表包含.META.表所在的region列表,該表只會有一個Region;

üZookeeper中記錄了-ROOT-表的location。

.META.

ü表包含所有的用戶空間region列表,以及RegionServer的服務器地址。

·Hbase使用場景

storing large amounts of data(100s ofTBs)needhigh write throughputneedefficient random access(key lookups) within large datasetsneedto scale gracefully with dataforstructured and semi-structured datadon'tneed fullRDMS capabilities(cross row/cross table transaction,joins,etc.)

大數據量存儲,大數據量高并發操作

需要對數據隨機讀寫操作

讀寫訪問均是非常簡單的操作

·Hbase與HDFS對比

兩者都具有良好的容錯性和擴展性,都可以擴展到成百上千個節點;

HDFS適合批處理場景

不支持數據隨機查找

不適合增量數據處理

不支持數據更新

hbase簡介,hbase
 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 永登县| 昆山市| 彭州市| 阿巴嘎旗| 乡城县| 四子王旗| 搜索| 绥阳县| 大名县| 塘沽区| 邵阳市| 香港 | 卫辉市| 延长县| 财经| 和平区| 锡林郭勒盟| 西盟| 朝阳县| 五常市| 太仆寺旗| 丰台区| 安福县| 舒城县| 梓潼县| 葵青区| 迁西县| 福建省| 德保县| 汕头市| 富民县| 合阳县| 无棣县| 金山区| 佛冈县| 西安市| 北流市| 哈尔滨市| 都江堰市| 贺州市| 迭部县|