Spark Yarn /tmp Нет такого файла или каталога
Я получаю сообщение об ошибке в моих искровых заданиях, и они обычно аналогичны приведенным ниже. Узел в кластере имеет около 256 ГБ памяти и около 8 ядер, также я указал память исполнителя как 4 ГБ и дополнительные 4 ГБ. Для shuffle я определил долю памяти как 0.5, но я хочу указать, что это не похоже на проблему с памятью. Однако я не могу понять, в чем может быть проблема, и это происходит на том или ином этапе, я перезапускаю свою работу несколько раз, и это происходит в нескольких точках. Вы можете предположить, что у нас есть инфраструктура около 200+ узлов с достойной конфигурацией.
Задание прервано из-за сбоя этапа: задача 0 на этапе 2.0 завершилась неудачно 12 раз, последний сбой: потерянное задание 0.11 на этапе 2.0 (TID 27, lgpbd1107.sgp.ladr.com): java.io.FileNotFoundException: /tmp/hadoop-mapr/nm-local-dir/usercache/names/appcache/application_1485048538020_113554/3577094671485456431296_lock (нет такого файла или каталога)
Я не могу понять, связана ли эта проблема с приложением или инфраструктурой. Может кто-нибудь, пожалуйста, помогите.
1 ответ
Это связано с утилитой tmpwatch, которая ежедневно работает на системах CentOS для очистки /tmp/files
не недавно доступен. NodeManager
сервис не будет воссоздавать верхний уровень hadoop.tmp.dir
(который по умолчанию /tmp/hadoop-${user.name}
) когда он запускает работу.
Теперь у вас есть два варианта:
Вариант -1: перейти к /etc/cron.daily/tmp-watch
и исключить этот каталог из ежедневной уборки. /tmp/hadoop-mapr/nm-local-dir/filecache
Вариант -2: Перейти к
core-site.xml и добавьте / измените значение
hadoop.tmp.dir
свойство --- по умолчанию/tmp/hadoop-${user.name}
или же
yarn-site.xml и добавьте / измените значение
yarn.nodemanager.local-dirs
свойство --- по умолчанию${hadoop.tmp.dir}/nm-local-dir