6

編集:私はついに問題が何であるかを理解しました。一部のファイルには非常に高いレプリケーション係数が設定されており、クラスターを 2 ノードに減らしていました。これらのファイルのレプリケーション ファクターを減らすと、使用停止はすぐに正常に終了しました。

廃止するノードをdfs.hosts.excludeおよびmapred.hosts.excludeファイルに追加し、次のコマンドを実行しました。

bin/hadoop dfsadmin -refreshNodes.

NameNode UI では、このノードが の下に表示されますDecommissioning Nodesが、時間がかかりすぎており、廃止されているノードに関するデータがあまりありません。

ノードの廃止には常に非常に長い時間がかかりますか、それともどこか探す必要がありますか? 正確に何が起こっているのかわかりません。

このノードにも破損したブロックはありません。

$ ./hadoop/bin/hadoop fsck -blocks /
 Total size:    157254687 B
 Total dirs:    201
 Total files:   189 (Files currently being written: 6)
 Total blocks (validated):      140 (avg. block size 1123247 B) (Total open file blocks (not validated): 1)
 Minimally replicated blocks:   140 (100.0 %)
 Over-replicated blocks:        6 (4.285714 %)
 Under-replicated blocks:       12 (8.571428 %)
 Mis-replicated blocks:         0 (0.0 %)
 Default replication factor:    2
 Average block replication:     1.9714285
 Corrupt blocks:                0
 Missing replicas:              88 (31.884058 %)
 Number of data-nodes:          3
 Number of racks:               1
FSCK ended at Mon Jul 22 14:42:45 IST 2013 in 33 milliseconds


The filesystem under path '/' is HEALTHY

$ ./hadoop/bin/hadoop dfsadmin -report
Configured Capacity: 25357025280 (23.62 GB)
Present Capacity: 19756299789 (18.4 GB)
DFS Remaining: 19366707200 (18.04 GB)
DFS Used: 389592589 (371.54 MB)
DFS Used%: 1.97%
Under replicated blocks: 14
Blocks with corrupt replicas: 0
Missing blocks: 0

-------------------------------------------------
Datanodes available: 3 (3 total, 0 dead)

Name: 10.40.11.107:50010
Decommission Status : Decommission in progress
Configured Capacity: 8452341760 (7.87 GB)
DFS Used: 54947840 (52.4 MB)
Non DFS Used: 1786830848 (1.66 GB)
DFS Remaining: 6610563072(6.16 GB)
DFS Used%: 0.65%
DFS Remaining%: 78.21%
Last contact: Mon Jul 22 14:29:37 IST 2013


Name: 10.40.11.106:50010
Decommission Status : Normal
Configured Capacity: 8452341760 (7.87 GB)
DFS Used: 167412428 (159.66 MB)
Non DFS Used: 1953377588 (1.82 GB)
DFS Remaining: 6331551744(5.9 GB)
DFS Used%: 1.98%
DFS Remaining%: 74.91%
Last contact: Mon Jul 22 14:29:37 IST 2013


Name: 10.40.11.108:50010
Decommission Status : Normal
Configured Capacity: 8452341760 (7.87 GB)
DFS Used: 167232321 (159.49 MB)
Non DFS Used: 1860517055 (1.73 GB)
DFS Remaining: 6424592384(5.98 GB)
DFS Used%: 1.98%
DFS Remaining%: 76.01%
Last contact: Mon Jul 22 14:29:38 IST 2013
4

3 に答える 3

7

データがあまりない場合でも、廃止はすぐにできるプロセスではありません。

まず、廃止する場合、データをかなりの数のブロック (ブロック サイズの大きさによって異なります) にレプリケートする必要があり、これによりクラスターが簡単に圧倒され、運用上の問題が発生する可能性があるため、これは多少抑制されていると思います。

また、使用している Hadoop のバージョンによっては、デコミッションを監視するスレッドが頻繁に起動するだけです。以前のバージョンの Hadoop では 5 分程度でしたが、今では 1 分以下になっていると思います。

デコミッションが進行中ということは、ブロックが複製されていることを意味します。つまり、これは実際に所有しているデータの量に依存していると思います。これは、このタスクにクラスターを完全に利用していないため、待つ必要があります。

于 2013-07-22T18:59:53.757 に答える
1

ファイル レベルまたはデフォルト レベルのレプリケーション ファクターよりも多くのアクティブなデータノードがない場合、ステータスは変更されないか、時間がかかる (そして最終的には失敗する) ことに注意してください。

于 2016-06-02T05:27:14.693 に答える
1

廃止の進行中は、一時ファイルまたはステージング ファイルが自動的に消去されます。これらのファイルは現在欠落しており、hadoop はどのように欠落したかを認識していません。そのため、他のすべてのファイルに対して実際の廃止が行われたとしても、廃止プロセスはそれが解決されるまで待機し続けます。

Hadoop GUI で、パラメータ「Number of Under-Replicated Blocks」が時間の経過とともに減少していない、またはほぼ一定であることに気付いた場合、これが原因である可能性があります。

以下のコマンドを使用してファイルを一覧表示します

hadoop fsck / -files -blocks -racks

これらのファイルが一時的で不要であることがわかった場合は、それらのファイルまたはフォルダーを削除します

例: hadoop fs -rmr /var/local/hadoop/hadoop/.staging/* (ここに正しいパスを指定します)

これにより、問題はすぐに解決されます。廃止されたノードは 5 分でデッド ノードに移動します。

于 2014-11-10T07:37:20.100 に答える