EMR Hadoop долго работает Иов убит - PullRequest
1 голос
/ 01 ноября 2019

У меня есть кластер EMR, когда я запускаю Sqoop с одним маппером для передачи запроса 7 миллионов записей в виде файлов Avro на S3. Через 30 минут (+ - 5 минут) задача карты иногда убивается, а иногда просто остается в рабочем состоянии (никогда не заканчивается), но создается другое задание карты, которое переходит в состояние выполнения, как замена предыдущей, и задание никогда не выполняется. концы. Если я изменю запрос, чтобы вернуть около 1 миллиона записей, работа заканчивается нормальноПросматривая логи, я нашел только это

2019-10-31 10:20:29,991 INFO [RMCommunicator Allocator] org.apache.hadoop.mapreduce.v2.app.rm.RMContainerAllocator: Killing taskAttempt:attempt_1572476771816_0004_m_000000_4004 because it is running on unusable node:ip-10-0-2-41.us-east-2.compute.internal:8041

Может кто-нибудь дать решение для этого?

1 Ответ

0 голосов
/ 01 ноября 2019

Вам необходимо установить mapreduce.task.timeout на 0. Согласно https://hadoop.apache.org/docs/r2.8.0/hadoop-mapreduce-client/hadoop-mapreduce-client-core/mapred-default.xml:

Количество миллисекунд до завершения задачи, если она не читает входные данные, не записывает выходные данные и не обновляет свою строку состояния. Значение 0 отключает тайм-аут.

Я предполагаю, что Sqoop не дает YARN знать, что он все еще работает, и поэтому маппер убивается.

...