欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

hbase 簡介

 更新時間:2017年09月29日 11:52:27   作者:動力節(jié)點  
HBase是基于GoogleBigTable模型開發(fā)的,典型的key/value系統(tǒng);下面通過本文給大家介紹hbase的相關(guān)知識,感興趣的朋友一起看看吧

概述


HBase是一個構(gòu)建在HDFS上的分布式列存儲系統(tǒng);

HBase是基于GoogleBigTable模型開發(fā)的,典型的key/value系統(tǒng);

HBase是ApacheHadoop生態(tài)系統(tǒng)中的重要一員,主要用于海量結(jié)構(gòu)化數(shù)據(jù)存儲;

從邏輯上講,HBase將數(shù)據(jù)按照表、行和列進(jìn)行存儲。

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

Hbase表的特點

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

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

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

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

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

數(shù)據(jù)類型單一:Hbase中的數(shù)據(jù)都是字符串,沒有類型。

·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é)切分在運(yùn)行過程中變得過大的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ù)更新



相關(guān)文章

  • 服務(wù)器安裝寶塔面板無法遠(yuǎn)程連接數(shù)據(jù)庫的解決方法

    服務(wù)器安裝寶塔面板無法遠(yuǎn)程連接數(shù)據(jù)庫的解決方法

    這篇文章主要介紹了服務(wù)器安裝寶塔面板無法遠(yuǎn)程連接數(shù)據(jù)庫的解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • 使用云服務(wù)器在CentOS系統(tǒng)中安裝.NET6.0

    使用云服務(wù)器在CentOS系統(tǒng)中安裝.NET6.0

    這篇文章介紹了使用云服務(wù)器在CentOS系統(tǒng)中安裝.NET6.0的方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-12-12
  • 實戰(zhàn) LAMP 服務(wù)器配置 完整篇

    實戰(zhàn) LAMP 服務(wù)器配置 完整篇

    LAMP 服務(wù)器配置 按部就班篇,大家可以學(xué)習(xí)試試。
    2009-06-06
  • Ubuntu 18.04 LTS中配置IP地址的完整步驟

    Ubuntu 18.04 LTS中配置IP地址的完整步驟

    這篇文章主要給大家介紹了關(guān)于如何在Ubuntu 18.04 LTS中配置IP地址的完整步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-12-12
  • linux中$符號的基礎(chǔ)用法總結(jié)

    linux中$符號的基礎(chǔ)用法總結(jié)

    這篇文章主要給大家介紹了關(guān)于linux中$符號的基礎(chǔ)用法,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用linux系統(tǒng)具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • Centos下編譯Linux內(nèi)核的具體實現(xiàn)方法

    Centos下編譯Linux內(nèi)核的具體實現(xiàn)方法

    下面小編就為大家?guī)硪黄狢entos下編譯Linux內(nèi)核的具體實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-12-12
  • apache tomcat 一個網(wǎng)站多域名的實現(xiàn)方法

    apache tomcat 一個網(wǎng)站多域名的實現(xiàn)方法

    因此處是進(jìn)行多域名設(shè)置,所以 Apache 與 tomcat的結(jié)合沒有詳述,此處只是設(shè)置多域名的方法
    2009-02-02
  • linux中ssh免密通信的實現(xiàn)

    linux中ssh免密通信的實現(xiàn)

    這篇文章主要介紹了linux中ssh免密通信的實現(xiàn),詳細(xì)的介紹了什么是ssh及其ssh免密通信,非常具有實用價值,需要的朋友可以參考下
    2018-11-11
  • CentOS 7 在vmware中的網(wǎng)絡(luò)設(shè)置詳細(xì)介紹

    CentOS 7 在vmware中的網(wǎng)絡(luò)設(shè)置詳細(xì)介紹

    這篇文章主要介紹了CentOS 7 在vmware中的網(wǎng)絡(luò)設(shè)置詳細(xì)介紹的相關(guān)資料,這里對主要網(wǎng)絡(luò)問題進(jìn)行了一一介紹及如何解決,需要的朋友可以參考下
    2016-11-11
  • linux中某個文件夾執(zhí)行命令完全卡死的問題及解決

    linux中某個文件夾執(zhí)行命令完全卡死的問題及解決

    這篇文章主要介紹了linux中某個文件夾執(zhí)行命令完全卡死的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06

最新評論