0

During a routine log pruning job where logs older than 60 days were being removed, a system administrator upgraded CDH from 4.3 to 4.6, (I know, I know)...

Normally, the log pruning job frees about 40% of HDFS's available storage. However, during the upgrade, datanodes went down, were rebooted, and all sorts of madness.

What's known is that HDFS received the delete commands, since the HDFS files / folders no longer exist, but disk utilization is still unchanged.

My question is, could HDFS have removed the files from the NameNode's metadata without actually fulfilling the file block deletes among the DataNodes, effectively orphaning the file blocks?

4

1 に答える 1

0

namenode は、保持しているブロックに関するレポートを取得し、それらの一部がどのファイルにも属していないことに気付いたら、孤立したブロックを削除するようにデータノードに指示すると思います。

これらのブロックを削除したくない場合は、システムをセーフモードにして、手動でディスクを調べてデータをコピーしてみてください。これを自動化する方法はありませんが、孤立したブロックを一覧表示するツールが将来追加される可能性があります (このJIRAで提案されているように)。

さらに、Hadoop のfsckを使用してネームシステムの健全性をチェックすることもできます。

于 2013-07-18T19:53:26.817 に答える