溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

HBase架構(gòu)的示例分析

發(fā)布時間:2021-12-08 15:00:55 來源:億速云 閱讀:139 作者:小新 欄目:云計算

小編給大家分享一下HBase架構(gòu)的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

1 引言

    通常認為,Hadoop主要包含以下四大組件:

  • 分布式鎖服務 Zookeeper

  • 分布式文件系統(tǒng) HDFS

  • 分布式計算框架 MapReduce

  • 分布式數(shù)據(jù)庫 HBase

    其中,Zookeeper是HDFS、MapReduce、HBase都要依賴的基礎組件,它為分布式系統(tǒng)中的一致性問題的提供解決方案。

    狹義的Hadoop,就是指HDFS和MapReduce;廣義的Hadoop,包括HDFS、MapReduce、HBase,甚至也包括這個生態(tài)圈中的Hive、Spark等。

    關于Hadoop生態(tài)圈的內(nèi)容,見:http://www.36dsj.com/archives/23504

    Hbase構(gòu)建于HDFS之上,它依賴HDFS和Zookeeper。

2 系統(tǒng)架構(gòu)

HBase架構(gòu)的示例分析 HBase架構(gòu)的示例分析 HBase架構(gòu)的示例分析

    下面分別介紹各類結(jié)點的作用:

Client

Client包含訪問HBase的接口,并維護著一些Cache來加快對HBase的訪問,比如regione的位置信息。

Zookeeper

  1. 保證任何時候,集群中只有一個master;實現(xiàn)Master主從節(jié)點的failover。

  2. 實時監(jiān)控Region Server的狀態(tài),將Region Server的上線和下線信息實時通知給Master。

  3. 存儲Region的尋址入口。

  4. 存儲HBase的schema,包括有哪些table,每個table有哪些column family。

Master

  1. 負責RegionServer的負載均衡。

  2. 管理和分配Region,比如在region split時分配新的Region;在Region Server退出時遷移其內(nèi)的region到其它Region Server上。

  3. 負責schema的更新請求,實現(xiàn)DDL操作(如對table、column familiy的create、drop等),并將schema的更新同步到Zookeeper。

  4. 權限控制(ACL)。

Region server

  1. 維護Master分配給它的region,處理對這些region的IO請求。

  2. 負責切分在運行過程中變得過大的region。

    Client通過Zookeeper、Region Server尋址,找到用戶talbe、RowKey所在的Region Server后,就直接從該Region Server讀寫數(shù)據(jù)了。這個過程不需要Master的參與,Master只是維護table和region的元數(shù)據(jù)信息,負載很低。

3 讀寫尋址

    HBase有個特殊的表:.META. ,它存儲了所有用戶table對應的Region位置信息,它是不可split的;而ZooKeeper節(jié)點(/hbase/meta-region-server)存儲了.META.表的位置。

    客戶端在第一次訪問用戶table的流程為:

  1. 從ZooKeeper(/hbase/meta-region-server)中獲取hbase:meta的位置(HRegionServer的位置),緩存該位置信息。

  2. 從Region Server中查詢用戶table對應請求的RowKey所在的Region Server,緩存該位置信息。

  3. 從查詢到的Region Server讀取Row。

    從這個過程中,我們發(fā)現(xiàn)客戶會緩存這些位置信息,然而第二步它只是緩存當前RowKey對應的HRegion的位置,因而如果下一個要查的RowKey不在同一個HRegion中,則需要繼續(xù)查詢hbase:meta所在的HRegion,然而隨著時間的推移,客戶端緩存的位置信息越來越多,以至于不需要再次查找hbase:meta Table的信息,除非某個Region因為宕機或split被移動,此時需要重新查詢并且更新緩存。

以上是“HBase架構(gòu)的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI