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が発生するとノードが応答しません。