HBase架構(gòu):Master

2018-05-21 13:46 更新

Master

HMaster是主服務(wù)器(Master Server)的實現(xiàn)。主服務(wù)器負(fù)責(zé)監(jiān)視群集中的所有RegionServer實例,并且是所有元數(shù)據(jù)更改的接口。在分布式集群中,Master通常在NameNode上運行。

啟動行為

如果在多主機(multi-Master)環(huán)境中運行,所有Master競爭運行集群。如果活動Master在ZooKeeper中失去租約(或Master關(guān)閉),則剩下的Master將爭相接管角色。

運行時影響

當(dāng)Master發(fā)生故障時,一個常見的dist-list問題涉及一個HBase集群會發(fā)生什么。由于HBase客戶端直接與RegionServer對話,因此群集仍可以“穩(wěn)定狀態(tài)”運行。此外,每個目錄表(Catalog Tables),hbase:meta作為HBase的表存在,而不是在Master中不存在。但是,Master控制關(guān)鍵功能,如RegionServer故障切換和完成區(qū)域分割。因此,雖然群集仍可以在沒有Master的情況下運行很短的時間,但應(yīng)盡快重新啟動Master形狀。

接口

HMasterInterface公開的方法主要是面向元數(shù)據(jù)(metadata-oriented)的方法:

  • 表(createTable,modifyTable,removeTable,enable,disable)
  • ColumnFamily(addColumn,modifyColumn,removeColumn)
  • 區(qū)域(move,assign,unassign),例如,調(diào)用該Admin方法disableTable時,它由Master服務(wù)器提供服務(wù)。

流程

Master運行幾個后臺線程:

負(fù)載平衡器

周期性地,當(dāng)沒有轉(zhuǎn)換區(qū)域時,負(fù)載均衡器將運行并移動區(qū)域以平衡群集的負(fù)載。

有關(guān)區(qū)域分配的更多信息,將在后續(xù)的章節(jié)中介紹。

CatalogJanitor

定期檢查并清理hbase:meta表格。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號