2017-12-18 12 views
0

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クラスタであるため、それをクリーンアップする必要があります。それが時間外に起こったら、同期の時間間隔を制御することができますか?」

そして、それが起こらない場合、ダウンした後に復旧したデータノードからディスクスペースを再利用するプロセスしばらく?

答えて

0

あなたのクラスタ上で一貫性のないブロックを特定し、そのデータがもはや維持されることを意図している場合には残さないブロックを削除するために必要な行動を取るために、fsckを実行することを検討するかもしれません。

+0

私がやってみましたFSCKしかし、どちらも役に立たなかったのですが、私は一定の期間にわたってスペースが解放されることを観察しました(0 MBまで、少なくとも数MBまで)。行動かどうか。 – sactiw

関連する問題