Мы выполняем работу самзы на пряже Hadoop. До сих пор мы развертывали задание вручную, вызывая run-job.sh на хосте Resource Manager.
run-job.sh --config-factory=org.apache.samza.config.factories.PropertiesConfigFactory --config-path=file:///usr/share/promo-rules-consumer/config/config.properties
Сценарий развертывания Samza и tar дистрибутива samza «samza-dist.tar.gz» размещаются в локальной файловой системе Resource Manager.
Но теперь я хотел бы развертывать рабочие места удаленно. Для этого я пытаюсь использовать Rest API для отправки приложений диспетчера ресурсов.
Запрос: POST http://hostname:8088/ws/v1/cluster/apps
Тело :
{
"application-id":"application_1470648527247_0031",
"application-name":"test1_0",
"am-container-spec":
{
"commands":
{
"command":"/usr/share/promo-rules-consumer/bin/run-job.sh --config-factory=org.apache.samza.config.factories.PropertiesConfigFactory --config-path=file:///usr/share/promo-rules-consumer/config/montecarlo.properties"
}
},
"application-type":"SAMZA"
}
Однако я вижу ошибку из пользовательского интерфейса диспетчера ресурсов.
Сообщение об исключении: /bin/bash: /usr/share/promo-rules-consumer/bin/run-job.sh: нет такого файла или каталога
Пожалуйста, скажите мне правильный способ сделать это. Есть ли какая-либо ссылка, показывающая развертывание задания samza через API отдыха или через код Java.
Спасибо