Search code examples
jsonlinuxhadoopambariapiblueprint

How to reconfigure Ambari services values with blueprint.json file


we have many Ambari LAB clusters - Apache Ambari Version 2.5.0.3 , while ambari agent installed on Linux redhat machines

my target is to find a way to update the values of services , on all the Ambari clusters , by automate the process

what we do until now , is take each ambari cluster and change the services values - but this take a lot of time

so if we have diff 25 ambari LAB clusters , then we need access each ambari cluster and change the values , this is very exhausting because we have a lot of values to change ...

but we have a new idea to automate the process

what we thinking is to generate a new blueprint.json from some ambari cluster file as the following:

curl -H "X-Requested-By: ambari" -X GET -u admin:admin http://{ambari_host}:8080/api/v1/clusters/{Cluster_name}\?format\=blueprint >  blueprint.json

then update/change the values in the new blueprint.json file

and finally upload/push the json file on all clusters

the big question is:

how to upload the new blueprint.json file on ambari cluster ?

is it possible scenario ?


Solution

  • To upload blueprint file in the new cluster, below command can be used.

    curl -H "X-Requested-By: ambari" --data @blueprint.json -X POST -u admin:admin http://<HOSTNAME>:8080/api/v1/blueprints/<BLUEPRINT_NAME>

    update <blueprintfile.json> and <BLUEPRINT_NAME> in the command.