第127講:Hadoop叢集管理之安全模式解析及動手實戰學習筆記
第127講:Hadoop叢集管理之安全模式解析及動手實戰學習筆記
hadoop在啟動時namenode會把fsimage載入進記憶體,同時和edits內容合併,以此建立整個檔案系統的元資料的映象(記憶體級別),所以客戶端可以通過namenode訪問檔案系統的資訊。完成後變成一個新的fsimage,這個過程是namenode自已完成的,同時會建立一個新的edits。這時namenode需要開始監聽rpc和http的請求,此時的狀態就叫安全模式。安全模式時整個檔案系統對客戶端來說是可讀的。實質上安全模式下可讀的要求更嚴,它只是對檔案系統的
元資料的操作會成功,例如檢視檔案系統上有哪些目錄,目錄下有哪些檔案。但對讀取檔案只有在叢集上的datanode
系統中的block的位置不是由namenode維護的,而是以block list的形式儲存在datanode中,系統正常工作時namenode會在記憶體中儲存所有block的location的對映資訊,在安全模式下,每個datanode會向namenode傳送最新的block location list的最新資訊,namenode知道塊的資訊後客戶端就可以通過 namenode對檔案系統進行操作。
namenode如果認為block具體位置的資訊不夠多的話,即datanode上的節點複本不夠多時可能會啟動對block的複製過程。實質上一般不會發生,因為在hadoop中一般配置
要退出安全模式也需要配置:dfs.namenode.safemode.threshold-pct: 0.999f,即整個檔案系統中最小的複本的個數為1滿足99.9%時就可以退出安全模式。
hadoop剛剛format時因為檔案系統中沒有檔案,這時不會進入安全模式。
hadoop dfsadmin -safemode get
可以獲得是否是安全模式。
hadoop dfsadmin -safemode enter/leave 進入退出安全模式
在系統維護升級時需要進入安全模式。禁止對系統操作。
dfs.namenode.safemode.min.datanodes=0
最小datanode個數,即退出安全模式時活著的datanode的具體數量。
=0即退出安全模式時不考慮datanode個數。
如果這個值大於叢集datanode個數,則叢集一直處於安全模式。
dfs.namenode.safemode.extension=3000
滿足了replication後再等待多長時間才退出安全模式。
以上內容是王家林老師DT大資料夢工廠《Hadoop深入淺出實戰經典》第127講的學習筆記。
王家林:Spark、Flink、Docker、Android技術中國區佈道師。Spark亞太研究院院長和首席專家,DT大資料夢工廠創始人,Android軟硬整合原始碼級專家,英語發音魔術師,健身狂熱愛好者。
微信公眾賬號:DT_Spark
電話:18610086859
QQ:1740415547
微訊號:18610086859
新浪微博:ilovepains
王家林的第一個中國夢:免費為全社會培養100萬名優秀的大資料從業人員!
可以通過王家林老師的微訊號18610086859發紅包捐助,目前已經發布的王家林免費視訊全集如下:
第127講視訊網站地址:
51CTO |
http://edu.51cto.com/lesson/id-77868.html |