Слишком много ошибок при загрузке Terasort

У меня есть кластер Hadoop из 8 узлов, где каждый узел имеет 24 физических ядра с Hyper-Threading, таким образом, 48 виртуальных ЦП и 256 ГБ памяти.

Я пытаюсь запустить работу на 6 ТБ в Terasort.

Проблема: Terasort работает без ошибок, когда я использую yarn.nodemanager.resource.cpu-vcores=44 (48 минус 4 для ОС, DN, RM и т. Д.). Однако, когда я пытаюсь переподписать процессоры с помощью yarn.nodemanager.resource.cpu-vcores=88, я получаю несколько карт и уменьшаю количество ошибок.

Все сбои карты похожи на "Слишком много ошибок извлечения…". Все редукционные ошибки похожи на "....# Блок не имеет достаточного количества реплик....".

Я видел ЭТО и ЭТО ссылки. Я проверил свои файлы /etc/hosts и также увеличил параметр ядра net.core.somaxconn.

Я не понимаю, почему я получаю карту и уменьшаю количество сбоев с переподписанными процессорами.

Любые советы или рекомендации будут полезны, и спасибо заранее.

1 ответ

Я понял причину ошибки "Слишком много выборок…". То, что происходило, было то, что, поскольку серверы были сильно загружены при выполнении моего задания объемом 7 ТБ (помните, что задания объемом 1 ТБ всегда выполнялись успешно), между ведущим и ведомым соединениями не было достаточного количества соединений. Мне нужно было увеличить очередь прослушивания между ведущим и ведомым устройствами, что можно сделать, изменив параметр ядра под названием "somaxconn".

По умолчанию "somaxconn" установлен на 128 в операционной системе rhel. При увеличении значения до 1024 задание 7 ТБ в терасорте успешно выполнено без сбоев.

Надеюсь, это кому-нибудь поможет.

Другие вопросы по тегам