у нас много кластеров Ambari LAB - Apache Версия Ambari 2.5.0.3 , в то время как агент амбари установлен на машинах Redhat Linux
Моя цель - найти способ обновить значения сервисов во всех кластерах Ambari, автоматизируя процесс
что мы делаем до сих пор, это берем каждый кластер амбари и меняем значения сервисов - но это занимает много времени
поэтому, если у нас есть diff 25 кластеров ambari LAB, тогда нам нужно получить доступ к каждому кластеру ambari и изменить значения, это очень утомительно, потому что у нас есть много значений, которые нужно изменить ...
но у нас появилась новая идея автоматизировать процесс
мы думаем создать новый blueprint.json из некоторого файла кластера амбари следующим образом:
curl -H "X-Requested-By: ambari" -X GET -u admin:admin http://{ambari_host}:8080/api/v1/clusters/{Cluster_name}\?format\=blueprint > blueprint.json
затем обновите / измените значения в новом blueprint.json файл
и, наконец, загрузите / отправьте файл json на все кластеры
большой вопрос:
как загрузить новый blueprint.json файл на кластере амбари?
это возможный сценарий?
Вы можете зарегистрироваться и загрузить новый чертеж с помощью запроса POST следующим образом.
curl --verbose -H "X-Requested-By: ambari" -X POST -u admin:admin http://{ambari_host}:8080/api/v1/blueprints/:{new blueprint name}?validate_topology=false --data "@./blueprint.json"
Но это не изменит конфигурацию существующего кластера. Блюпринты можно использовать только перед созданием нового кластера.
Вы можете сослаться этот документ, если вам нужно изменить существующие конфигурации кластера.