AWS Elastic mapreduce, похоже, неправильно преобразует потоковую передачу в jar

У меня есть маппер и редюсер, которые отлично работают, когда я запускаю их в конвейерной версии:

cat data.csv | ./mapper.py | sort -k1,1 | ./reducer.py

Я использовал эластичный мастер mapreducer, загрузил входы, выходы, начальную загрузку и т. д. Начальная загрузка прошла успешно, но я все еще получаю ошибку при выполнении.

Это ошибка, которую я получаю в своем stderr для шага 1...

+ /etc/init.d/hadoop-state-pusher-control stop
+ PID_FILE=/mnt/var/run/hadoop-state-pusher/hadoop-state-pusher.pid
+ LOG_FILE=/mnt/var/log/hadoop-state-pusher/hadoop-state-pusher.out
+ SVC_FILE=/mnt/var/lib/hadoop-state-pusher/run-hadoop-state-pusher
+ case $1 in
+ stop
+ echo 0
/etc/init.d/hadoop-state-pusher-control: line 35: /mnt/var/lib/hadoop-state-pusher/run-hadoop-state-pusher: No such file or directory
+ /etc/init.d/hadoop-state-pusher-control start
+ PID_FILE=/mnt/var/run/hadoop-state-pusher/hadoop-state-pusher.pid
+ LOG_FILE=/mnt/var/log/hadoop-state-pusher/hadoop-state-pusher.out
+ SVC_FILE=/mnt/var/lib/hadoop-state-pusher/run-hadoop-state-pusher
+ case $1 in
+ start
++ dirname /mnt/var/lib/hadoop-state-pusher/run-hadoop-state-pusher
+ sudo -u hadoop mkdir -p /mnt/var/lib/hadoop-state-pusher
+ echo 1
++ dirname /mnt/var/run/hadoop-state-pusher/hadoop-state-pusher.pid
+ sudo -u hadoop mkdir -p /mnt/var/run/hadoop-state-pusher
++ dirname /mnt/var/log/hadoop-state-pusher/hadoop-state-pusher.out
+ sudo -u hadoop mkdir -p /mnt/var/log/hadoop-state-pusher
+ disown %1
+ sleep 5
+ sudo -u hadoop /usr/bin/hadoop-state-pusher -server --pidfile /mnt/var/run/hadoop-state-pusher/hadoop-state-pusher.pid
+ exit 0
Command exiting with ret '0'

Это загадочно. Что это значит?

Кажется, есть проблема с установкой чего-то? Какие из других файлов журнала могут сообщить что-то информативное, где я должен искать?

Я попробовал решение, которое нашел здесь, просто сделав экземпляр больше, но это не сработало, то же сообщение об ошибке.


person Mittenchops    schedule 01.09.2013    source источник


Ответы (1)


Я искал не тот файл журнала. Есть другой (было около 6?), Который на самом деле дал мне полезную информацию об отладке Python. Оказалось, что я использовал string interpolation.format("of this kind {}, not this kind with a digit {1}".vars(a,b)), который не поддерживался в python ‹ 2.7, который был установлен по умолчанию в образе EC2, используемом в elastic mapreduce.

person Mittenchops    schedule 30.09.2013
comment
Где были журналы? - person ozn; 03.05.2021
comment
Не знаю, это было 8 лет назад. - person Mittenchops; 03.05.2021