hadoop 2.9.0のPOCを分散ファイルストレージシステムとして実行しています。レプリケーションファクタ2の4データノード(マスタを含む)。hdfsデータノードは、しばらくの間ダウンした後に再起動した場合、再起動しません。
ここで、一連のコピー操作の後、私はdatanode(slave2)の1つを停止することにしました。そして、slave2がまだダウンしている間に、hdfs dfs -rm -skipTrash
コマンドを使って数GBのデータを消去しました。
後で私が停止したslave2データノードを再起動し、ダウンタイム中にhdfsから削除されたデータブロックをクリーンアップしなかったようです。
データを追加/削除してマスターnamenodeと同期するかどうかを確認し、ローカルクリーンアップを実行してディスクスペースを再利用しましたが、復旧しませんでした。
スレーブ2:
[email protected]:~$ hdfs dfs -du -s -h/
4.5 G/
[email protected]:~$ du -sh /hadoop-tmp/
7.7G /hadoop-tmp/ [<-- notice extra 2.2 GB of data present on local disk]
マスタ:
[email protected]:~$ du -sh /hadoop-tmp/
4.6G /hadoop-tmp/
[email protected]:~$ hdfs dfs -du -s -h/
4.5 G/
SLAVE1:
以下は、各ノード上のデータ消費量であります
[email protected]:~$ hdfs dfs -du -s -h/
4.5 G/
[email protected]:~$ du -sh /hadoop-tmp/
4.5G /hadoop-tmp/
slave3:
[email protected]:/$ du -sh /hadoop-tmp/
2.8G /hadoop-tmp/
[email protected]:/$ hdfs dfs -du -s -h/
4.5 G/
私はここに私の質問は、それがローカルから削除されたデータブロックを記憶していることを確認するために、マスターの名前ノードと同期するのにかかるdatenodeスレーブ2どのくらいの時間」であると思いますHDFSクラスタであるため、それをクリーンアップする必要があります。それが時間外に起こったら、同期の時間間隔を制御することができますか?」
そして、それが起こらない場合、ダウンした後に復旧したデータノードからディスクスペースを再利用するプロセスしばらく?
私がやってみましたFSCKしかし、どちらも役に立たなかったのですが、私は一定の期間にわたってスペースが解放されることを観察しました(0 MBまで、少なくとも数MBまで)。行動かどうか。 – sactiw