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