2016-05-30 4 views
0

5つのノードを持つHDFSクラスタがあります。HDFSノードOOMのファイルが多すぎますか?

2016-05-29 13:30:03,972 [Thread-486536] INFO  org.apache.hadoop.hdfs.DFSClient - Exception in createBlockOutputStream 
java.io.IOException: Got error, status message , ack with firstBadLink as 10.100.1.22:50010 
at org.apache.hadoop.hdfs.protocol.datatransfer.DataTransferProtoUtil.checkBlockOpStatus(DataTransferProtoUtil.java:142) ~[hadoop-hdfs-2.7.1.jar!/:na] 
... 
2016-05-29 13:30:03,972 [Thread-486536] INFO  org.apache.hadoop.hdfs.DFSClient - Abandoning BP-1195099512-10.100.1.21-1454597789659:blk_1085523876_11792285 
2016-05-29 13:30:03,977 [Thread-486536] INFO  org.apache.hadoop.hdfs.DFSClient - Excluding datanode DatanodeInfoWithStorage[10.100.1.22:50010,DS-2f34af8d-234a-4036-a810-908c3b2bd9cf,DISK] 
2016-05-29 13:30:04,003 [pool-1272-thread-3] WARN  org.apache.hadoop.hdfs.DFSClient - Slow waitForAckedSeqno took 65098ms (threshold=30000ms) 

は、我々はまた、大きなGC'ingが発生したときのようですこれらの多くを、体験:ファイルシステムに新しいファイルを書き込むとき、あまりにも頻繁に、私たちは「十分でないレプリカ」エラー、または次のいずれかを取得します。

[pool-9-thread-23] WARN  org.apache.hadoop.hdfs.DFSClient - Slow waitForAckedSeqno took 34607ms (threshold=30000ms) 
[pool-9-thread-30] WARN  org.apache.hadoop.hdfs.DFSClient - Slow waitForAckedSeqno took 34339ms (threshold=30000ms) 
[pool-9-thread-5] WARN  org.apache.hadoop.hdfs.DFSClient - Slow waitForAckedSeqno took 34593ms (threshold=30000ms) 

ファイルシステムには650万個の小さな(4〜20KB)ファイルが保存され、新しいファイルを書き込むとノードはOOMでダウンします。新しいファイルは常にバッチで書かれ、バッチは数十万になる可能性があります。

ノードには、OOMではなく、名前ノードでは4 GB、データノードでは3 GBのRAMが多数あります。

これは実際の動作ですか?なぜ、ノードはそのような量のRAMを食べているのですか?

ノードの数を増やして、より厳密なmem設定(1024 MBなど)で実行できるかどうかを確認します。可能?

EDIT:GCが頻繁に発生し、GCが発生するとノードが応答しません。

答えて

0

最終的には、障害が発生したストレージシステムが問題でした。クラスタをHWラックに移動し、セカンドネームノードを追加し、使用済みのファイルをHARファイルシステムに定期的にアーカイブし、HDFSは幸せなパンダです。

同様の問題が発生した場合、お使いのプラットフォームはあらゆる種類の仮想化に基づいています。直ちに仮想のジャンボから離れてください。

関連する問題