關閉羣集./stop-all.sh
,然後調用hadoop namenode -format
後,我看到datanodes具有相同的磁盤空間,即空間尚未釋放。Namenode格式不釋放datanode磁盤空間
這是爲什麼?
關閉羣集./stop-all.sh
,然後調用hadoop namenode -format
後,我看到datanodes具有相同的磁盤空間,即空間尚未釋放。Namenode格式不釋放datanode磁盤空間
這是爲什麼?
您可以格式化的NameNode
RMR的刪除
Usage: hadoop fs -rmr URI [URI …]
遞歸版本之前手動刪除數據節點的數據。 實施例:
hadoop fs -rmr /user/hadoop/dir
hadoop fs -rmr hdfs://nn.example.com/user/hadoop/dir
退出代碼:
成功返回0和-1。
備選地
每當名稱節點是數據節點應該被重新格式化。我在這裏看到兩種方法:
格式化Namenode不會格式化Datanode。
它只會格式化您的namenode的內容。即,您的namenode將不再知道您的數據所在的地方爲 。另外namenode -format會爲namenode分配一個新的名稱空間ID
您將不得不在datanode中更改namespaceID以使您的datanode正常工作。 這將是在dfs /數據/電流/版本
有一個JIRA現在打開相同的建議格式Datanode以及格式Namenode。 HDFS-107
格式化名稱節點,空間沒有得到清理。人將不得不手動。
要做到這一點,
首先通過在正確的順序調用./stop-all.sh
或./stop-mapred.sh
和./stop-dfs.sh
停止集羣。
然後刪除datanode的數據目錄,即i。Ë或者通過dfs.data.dir
在hdfs-site.xml
或hadoop.tmp.dir
/DFS /數據
的選項指定的目錄做-rmr
做了格式其實是最好的辦法,除非你之前(在對方回答這個問題的一個指定)和我一樣,不知不覺地格式化了namenode,然後意識到datanode空間沒有得到清理;)