Hmaster 啟動講解

2021-06-21 04:13:52 字數 1676 閱讀 5435

ps:發現想寫明白確實不太容易、以下會慢慢完善

hmaster啟動會先執行hmaster 建構函式,看看它都做了什麼:

初始化conf、rpcserver、isa(inetaddressserver)、servername、zookeep、rpcserver start 、metrics

如果應用security注意以下兩點:

login the zookeeper client principal (if using security)

initialize server principal (if using secure hadoop)

rpcserver start

this.rpcserver.startthreads();
包括 responder.start() 在隨後的rpc中會進一步講解 、listener.start()、初始化handler等

初始metrics,metric底層主要使用hadoop metrics

-----------------------上面建構函式end----------------

接下來執行hmaser run方法

設定monitoredtask

啟動infoserver也就是master ui

嘗試成為活動master(多個master競爭、誰先完成誰就是)

然後完成初始化,主要有以下條目:

1、初始化filesystemmanager 主要做一些檔案系統的管理,例如:rootdir  tempdir 、fs

初始化splitlogmanager 、建立oldlogdir (.oldlog)

2、初始化tabledescriptors   即fstabledescriptors  表的元資料資訊,對應表目錄下的 ".tableinfo.000000000x"  x隨著對錶修改而變動

3、在zk中建立儲存clusterid的znode並設定值

5、初始化servermanager

6、初始化所有基於zk的system tracker

catalogtracker  啟動 rootregiontracker  和 metanodetracker

初始化loadbalance類

初始化assignmentmanager   此類主要作用 管理執行region分配、監控關於region事務的zk事件、當master失敗時處理已經存在的regions

regionservertracker 並將zk中的regionserver加到集合中

drainingservertracker 同上

初始化 snapshotmanager

初始化 mastercoprocessorhost

startservicethread  前一篇文章中對 excutorservice有講解、這裡主要就是excutorservice的一些初始化、另外logcleaner 、

獲取archivedir (hfile archive 一般rootdir下 .archive)

初始化hfilecleaner

如果helthcheck不為空的話執行helthcheck

最後rpcserver (hbaseserver)呼叫openserver  即標記started = true  這樣就可以接收請求啦!

------------------------------

hbase啟動HMaster問題

關於啟動hbase的時候可能會出現下面的問題,我自己總結了一些解決辦法,最重要還是看日誌然後去分析,先宣告我的環境是沒有配置hadoopha。問題 cant t get master address from zookeeper znode data null 圖上的問題估計也有挺多發生,然後我看了...

HBase啟動後發現HMaster程序消失了

hbase 集群部署啟動後幾秒自動退出異常處理,1.hadoop 與 hbase 版本不相容,會導致此異常。2.log 為 org.apache.hadoop.hbase.tableexist ception hbase namespace 異常,很可能是更換了hbase的版本過後zookeeper...

啟動檔案講解

本章參考資料 stm32f4xx 中文參考手冊 第十章 中斷和事件 表 46.stm32f42 和 stm32f43 的向量表 mdk 中的幫助手冊 arm development tools 用來查詢 arm 的彙編指令和編譯器相關的指令。啟動檔案由彙編編寫,是系統上電復位後第乙個執行的程式。主要...