2016-05-30 3 views
0

У нас есть кластер 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 происходит, узлы не реагируют.

ответ

0

В конце концов проблема была основной системой хранения, которая не удалась. Переместил кластер в стойку HW, добавил второй узел имен, периодически архивировал использованные файлы в файловые системы HAR, а HDFS - счастливая панда.

Если вы когда-либо видели подобные проблемы, и ваша платформа основана на виртуализации любого типа. Немедленно переходите от виртуального mumbo jumbo.

Смежные вопросы