Исправляем ошибку HDFS Under-Replicated Blocks


Если у Вас возникла ошибка "Under-Replicated Blocks", то исправить её можно несколькими способами.

Запуск ребалансировки кластера.
Возникает эта необходимость, к примеру, тогда когда Вы изменили количество datanode для кластера HDFS. Для этого нужно запустить команду ребалансировки:
hdfs balancer

Изменение фактора репликации.
Это нужно сделать если Вы изменили фактор репликации(dfs.replication) для HDFS. Проблема в том, что это изменение действует только для новых файлов. Поэтому для всех старых файлов нужно вручную изменить фактор репликации. Для этого нужно с помощью команды fsck понять для каких файлов остался старый фактор репликации:
hdfs fsck / -files -blocks -locations
Эта команда выдает список файлов и кол. блоков репликации. После чего нужно командой "fs -setrep" изменить фактор репликации для старых файлов:
hadoop fs -setrep -w 3 -R /user/oozie/share/lib
Эта команда рекурсивно изменит фактор репликации для файлов в указаной директории.

Удаление проблемных файлов.
Бывают ситуации, что в список не реплицированных файлов попали временные файлы и логи. Тогда их можно просто удалить следующей командой:
hadoop fsck / -delete

Коментарі

Популярні дописи з цього блогу

Минимальные требование для кластера Hadoop(with Spark)

Линейная регрессия простыми словами