第10章-管理Hadoop集群-hadoop 安全模式相关知识点
為什么80%的碼農都做不了架構師?>>> ??
1、namenode啟動時,namenode節點都做了哪些動作?fsimage和edits有什么變化?
2、namenode什么時候開始監聽RPC和HTTP請求?
???namenode啟動時,首先將映像文件(fsimage)載入內存,并執行編輯日志(edits)中的各項操作。
????一旦在內存中成功建立文件系統元數據的映像,則創建一個新的fsimage文件(這個操作不需要借助輔助namenode)和一個空的編輯日志。此時,namnode開始監聽RPC和HTTP請求。
3、namenode在什么階段會處于安全模式?
????在啟動階段。
4、namenode運行在安全模式下,文件系統對于客戶端可以讀寫嗎?
????但是此刻,namenode運行在安全模式,即namenode的文件系統對于客戶端來說是只讀的。
????嚴格來說,在安全模式下,只有那些訪問文件系統元數據的文件系統操作是可以成功的,例如顯示目錄列表等。
????對于讀文件操作來說,只有集群中當前datanode上的塊可用時,才能夠讀取文件。但文件修改操作(包括寫、刪除或重命名)均會失敗。
5、系統中數據塊的位置是由誰來維護的?
????需要強調的是,系統中數據塊的位置并不是由namenode維護的,而是以塊列表的形式存儲在datanode中。
6、namenode會在哪兒保留所有塊位置的映射信息?
????在系統的正常操作期間,namenode會在內存中保留所有塊位置的映射信息。???
7、安全模式下,namenode、datanode都做了哪些動作??
????1)、datanode向namenode檢查塊列表信息。
????2)、namenode不向datanode發出任何塊復制或塊刪除命令。即,執行復制或刪除塊失敗。
詳細過程為:
????1)、在安全模式下,各個datanode會向namenode檢查塊列表信息(即向namenode發送塊列表的最新情況)
????2)、namenode了解到足夠多的塊位置信息之后,即可高效運行文件系統。
????3)、但如果namenode沒有檢查到足夠多的datanode,則需要將塊復制到其他datanode,而在大多數情況下這都是不必要的(因為只需等待檢查到若干datanode檢入),并會極大地浪費集群的資源。
????4)、實際上,在安全模式下,namenode并不向datanode發出任何塊復制或塊刪除的命令。
8、什么時候退出安全模式?
????當滿足“最小復本條件”(minimal replication condition),namenode會在30秒鐘之后就退出安全模式。
9、最小副本條件是指什么?
????最小副本條件是在整個文件系統中有99.9%的塊滿足最小副本級別(默認值是1,由dfs.replication.min屬性設置)。
10、安全模式相關屬性
1)、dfs.replication.min
2)、dfs.safemode.threshold.pct
3)、dfs.safemode.extension
如下表:
11、啟動一個剛剛格式化的HDFS集群時,namenode是否會進入安全模式?為什么?
????因為系統中還沒有任何塊,所以namenode不會進入安全模式。
12、如何進入和離開安全模式?
????1)、#查看namenode是否處于安全模式?
????????hadoop dfsadmin -safemode get
????????在HDFS的網頁界面也能夠顯示namenode是否處于安全模式。
????2)#等待namenode退出安全模式
????????當用戶期望在執行某條命令之前namenode先退出安全模式,如何操作?
????????有時用戶期望在執行某條命令之前namenode先退出安全模式,特別是在腳本中。使用wait選項能夠達到這個目的:
????????hadoop dfsadmin -safemode wait
??? 3)、#進入安全模式
????????管理員隨時可以讓namenode進入或離開安全模式。這項功能在維護和升級集群時非常關鍵,因為需要確保數據在指定時段內是只讀的。
????????hadoop dfsadmin -safemode enter
????4)、#離開安全模式??? ????????????
???????? hadoop dfsadmin -safemode leave
13、使namenode永遠處于安全模式的方法?
????????1)、namenode啟動階段,運行hadoop dfsadmin -safemode enter
????????? namenode在啟動階段會處于安全模式。在此期間也可使用這條命令,從而確保namenode在啟動完畢之后不離開安全模式。
?????? ?2)、將dfs.safemode.threshold.pct值設為大于1
????????? 另一種使namenode永遠處于安全模式的方法是將屬性dfs.safemode.threshold.pct的值設為大于1。
???
轉載于:https://my.oschina.net/HIJAY/blog/332960
總結
以上是生活随笔為你收集整理的第10章-管理Hadoop集群-hadoop 安全模式相关知识点的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 将虚拟机转换成模板
- 下一篇: MYSQ 查看 2 进制日志