У нас есть кластер 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)
Файловая система имеет 6,5 миллиона малых (4-20 кБ) файлы и узлы идут вниз с ООМ, когда мы пишем новые файлы. Новые файлы всегда записываются партиями, а партия может составлять несколько сотен тысяч.
В настоящее время узлы имеют много оперативной памяти, а не OOM, 4 ГБ для узла имен и 3 ГБ для узлов данных.
Это действительно ожидаемое поведение? Почему узлы питаются таким огромным количеством ОЗУ?
Я хочу увеличить количество узлов, чтобы увидеть, можем ли мы работать с более строгими настройками памяти, например 1024 МБ. Возможное?
EDIT: Мы видим много GC, и когда GC происходит, узлы не реагируют.