Amazon EMR потоковый картограф / редуктор не найден

Я попытался создать свое первое потоковое приложение EMR, написанное на PHP.

в моей локальной системе это работает хорошо:
./producer/target/release/producer 1000 | php mapper.php | сортировать | php reducer.php

Я также попытался сделать исполняемый файл / редуктор и добавить Шебанг.

я использовал «picker», чтобы выбрать путь s3 к картографическому устройству / редуктору, но EMR жалуется в его журналах:

Причина: java.io.IOException: Не удается запустить программу «/mnt1/yarn/usercache/hadoop/…/./mapper.php»: error = 2, такого файла или каталога нет.

Кажется, что EMR не скопировал файл сопоставления в кластер hadoop.

Есть идеи, почему картограф не найден?

0

Решение

Ошибка сбивает с толку; отсутствует не mapper.php, а сам исполняемый файл php. PHP не установлен на последнем ядре EMR AMI & узлы задачи. Вам нужно будет установить его.

Любое простое решение — добавить элемент начальной загрузки. Создайте bootstrap.sh со следующим:

#!/usr/bin/php

yum -y install php

Затем загрузите это на s3. Затем, когда вы выберете свой файл начальной загрузки, выберите bootstrap.sh из s3, и он установит PHP перед выполнением ваших шагов.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]