Как развернуть задание samza на удаленном диспетчере ресурсов Yarn

Мы выполняем работу самзы на пряже 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.

Спасибо


person Coder    schedule 13.09.2016    source источник
comment
В настоящее время это может быть невозможно, так как JobRunner обычно заполняет поток координатора файлом config. Однако недавно была проделана некоторая работа (не в окончательной версии), которая позволяет запускать задание в средах, подобных этой.   -  person Jon Bringhurst    schedule 22.11.2016


Ответы (1)


Что мы делаем:

  1. #P2# <блочная цитата> #P3#
  2. #P4# <блочная цитата> #P5#
  3. Samza нужно знать ваши настройки YARN, скопируйте следующее из вашего производственного кластера Hadoop, поместите в /yarn-location/conf (обратите внимание, /conf важен)

    • apacity-scheduler.xml
    • ядро-site.xml
    • log4j.properties
    • пряжа-env.sh
    • пряжа-site.xml
  4. установить переменную среды HADOOP_YARN_HOME

export HADOOP_YARN_HOME=/yarn-location (здесь без conf..)

  1. Запустите run-job.sh:
    #P9#
person Michael    schedule 10.01.2017