hadoop hdfs dfsadmin 介紹

今天聽了王家林的hadoop的集羣管理工具dfsadmin介紹,也實際操作了下,不過沒找到感覺,不知道是自己腦子空白還是怎麼的,倒是下面這篇文章還靠譜。


一、hdfs dfsadmin -safemode 安全模式


 NameNode在啓動的時候 首先進入安全模式,如果datanode丟失的block達到一定的比例(由hdfs-site.xml文件中dfs.safemode.threshold.pct決定,默認0.999f),則系統會一直處於安全模式狀態即只讀狀態 ; 否則沒有其他情況影響,一般情況下,系統會自動離開安全模式。

dfs.safemode.threshold.pct 表示HDFS啓動的時候,如果DataNode上報的 block個數0.999倍纔可以離開安全模式,否則一直是這種只讀狀態。如果設爲1則hdfs永遠是處於SafeMode。

通常兩種情況可以離開這處安全模式

1、修改 dfs.safemode.threshold.pct爲一個比較小的值,缺省值是0.999
2、hadoop dfsadmin -safemode leave 命令強制離開


用戶可以使用命令行(hdfs dfsadmin -safemode value)做如下的操作:


[plain] view plain copy 在CODE上查看代碼片派生到我的代碼片

  1. # hdfs dfsadmin -safemode get    ## 返回安全模式是否開啓的信息,返回 Safe mode is OFF/OPEN  

  2. # hdfs dfsadmin -safemode enter  ## 進入安全模工  

  3. # hdfs dfsadmin -safemode leave  ## 強制 NameNode 離開安全模式  

  4. # hdfs dfsadmin -safemode wait   ## 等待,一直到安全模式結束  



hdfs dfsadmin 的其他命令:

命令選項描述
-report報告文件系統的基本信息和統計信息。
-safemode enter | leave | get | wait安全模式維護命令。安全模式是Namenode的一個狀態,這種狀態下,Namenode
1. 不接受對名字空間的更改(只讀)
2. 不復制或刪除塊
Namenode會在啓動時自動進入安全模式,當配置的塊最小百分比數滿足最小的副本數條件時,會自動離開安全模式。安全模式可以手動進入,但是這樣的話也必須手動關閉安全模式。
-refreshNodes重新讀取hosts和exclude文件,更新允許連到Namenode的或那些需要退出或入編的Datanode的集合。
-finalizeUpgrade終結HDFS的升級操作。Datanode刪除前一個版本的工作目錄,之後Namenode也這樣做。這個操作完結整個升級過程。
-upgradeProgress status | details | force請求當前系統的升級狀態,狀態的細節,或者強制升級操作進行。
-metasave filename保存Namenode的主要數據結構到hadoop.log.dir屬性指定的目錄下的<filename>文件。對於下面的每一項,<filename>中都會一行內容與之對應
1. Namenode收到的Datanode的心跳信號
2. 等待被複制的塊
3. 正在被複制的塊
4. 等待被刪除的塊
-setQuota <quota> <dirname>...<dirname>爲每個目錄 <dirname>設定配額<quota>。目錄配額是一個長整型整數,強制限定了目錄樹下的名字個數。
命令會在這個目錄上工作良好,以下情況會報錯:
1. N不是一個正整數,或者
2. 用戶不是管理員,或者
3. 這個目錄不存在或是文件,或者
4. 目錄會馬上超出新設定的配額。
-clrQuota <dirname>...<dirname>爲每一個目錄<dirname>清除配額設定。
命令會在這個目錄上工作良好,以下情況會報錯:
1. 這個目錄不存在或是文件,或者
2. 用戶不是管理員。
如果目錄原來沒有配額不會報錯。
-help [cmd]顯示給定命令的幫助信息,如果沒有給定命令,則顯示所有命令的幫助信息。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章