Есть ли способ отключить запись файла.jhist для MapReduce?
У меня небольшой кластер с не очень хорошей сетью. Время от времени долгосрочное задание будет достигать 100% карты и уменьшаться на 100%, а затем завершаться сбоем.
Проблема заключается в следующем: в начале задания MapReduce открывает DataStreamer для записи файла.jhist. В ходе работы (небольшое количество) узлов данных иногда отключаются и переподключаются. Когда это происходит, этот DataNode, если он в настоящий момент находится в конвейере записи.jhist, будет помечен как "плохой" (для конвейера.jhist) и после этого никогда не будет пересматриваться. Новый DataNode заменит его в конвейере.
Однако, если в конечном итоге каждый DataNode станет "плохим", в конце задания MRAppMaster/JobHistoryEventHandler попытается выполнить запись в этот сломанный конвейер и произойдет сбой (JavaIOException, все датододы плохие и т. Д.). Отсюда дела идут вниз, и, в конце концов, работа терпит неудачу, несмотря на то, что она завершена.
Эти файлы.jhist для меня не важны, но, несмотря на тщательный поиск, я не могу найти способ их отключить. Это возможно? В качестве альтернативы, есть ли способ заставить DataStreamers повторно пробовать узлы данных, ранее помеченные как "плохие"? Если ни один из них не возможен, любые другие обходные пути будут высоко оценены.
Я использую Hadoop 3.0.3, обновление до версии Hadoop больше, чем это вариант, но не до версии до 3.