Кластер Ambari + настройка автозапуска службы по API

введите здесь описание изображения Службы Ambari можно настроить на автоматический запуск при загрузке системы. Каждую службу можно настроить на запуск всех компонентов, мастеров и рабочих или выборочно.

Итак, как включить автоматический запуск всех служб в кластере Ambari при загрузке системы через API?

Примечание - по умолчанию все сервисы отключены


person King David    schedule 04.09.2017    source источник
comment
Ваше первое предложение звучит так, будто вы уже знаете, что это возможно, так почему вопрос?   -  person OneCricketeer    schedule 04.09.2017
comment
Я могу сделать это из графического интерфейса Ambari, но я хочу сделать это через API, как часть процесса автоматизации, я буду рад получить ответ по API   -  person King David    schedule 04.09.2017
comment
Каждое действие в графическом интерфейсе Ambari - это запрос API. Откройте окно инструментов разработчика Chrome / Firefox и наблюдайте за сетевыми запросами при выполнении действий. Ambari не может запускать службы удаленного сервера при загрузке, AFAIK   -  person OneCricketeer    schedule 04.09.2017
comment
это конфигурация из кластера амбари, и конфигурация может быть изменена запросом API амбари   -  person King David    schedule 04.09.2017
comment
из графического интерфейса Ambari перейдите в - ›admin -› service auto start, и тогда вы увидите все отключенные службы, как я уже сказал, я хочу изменить их, чтобы они были включены с помощью команды API, которая запускается с компьютеров Linux.   -  person King David    schedule 04.09.2017
comment
Запрос на завиток можно выполнить на любой машине. Не только Linux. И такой опции нет на Ambari, которая у меня есть.   -  person OneCricketeer    schedule 04.09.2017
comment
В любом случае, найдите здесь Установить флаги автозапуска кластера cwiki.apache.org/confluence/display/AMBARI/   -  person OneCricketeer    schedule 04.09.2017
comment
Позвольте нам продолжить это обсуждение в чате.   -  person King David    schedule 04.09.2017


Ответы (1)


Вы можете использовать API с автоматическим перезапуском, см. Следующий документ https://cwiki.apache.org/confluence/display/AMBARI/Recovery%3A+auto+start+components

Синтаксис. Ниже приводится синтаксис API.

curl -u admin:<password> -H "X-Requested-By: ambari" -X PUT 'http://<ambari host>:<ambari port>/api/v1/clusters/<cluster_name>/components?ServiceComponentInfo/component_name.in(<component name>)' -d '{"ServiceComponentInfo" : {"recovery_enabled":"true"}}'

Пример. Чтобы установить автоматический перезапуск для app timeline server компонента службы YARN, используйте команду curl следующим образом.

curl -u admin:<password> -H "X-Requested-By: ambari" -X PUT 'http://localhost:8080/api/v1/clusters/HDPCL/components?ServiceComponentInfo/component_name.in(APP_TIMELINE_SERVER)' -d '{"ServiceComponentInfo" : {"recovery_enabled":"true"}}'

ПРИМЕЧАНИЕ. Список компонентов можно найти в http://<ambarihost>:<ambari port>/api/v1/clusters/Fenton/components

person Shubhangi    schedule 04.09.2017
comment
curl -u admin: admin -H X-Requested-By: ambari -X PUT 'localhost: 8080 / api / v1 / clusters / HDP01 / '-d' {YARN: {recovery_enabled: true}} ' - person King David; 04.09.2017
comment
Я использую этот синтаксис, но что-то не так, вы можете мне помочь? - person King David; 04.09.2017
comment
@ Король Дэвид, я добавил пример в ответ. Пожалуйста, используйте команду curl соответственно. Если по-прежнему не удается, добавьте свою команду и ошибку в комментарии. - person Shubhangi; 04.09.2017
comment
его работа, но странно видеть мое обновление изображения, почему его все еще отключают рекламу, определенную на картинке? - person King David; 04.09.2017