如何用blueprint.json文件重新configurationAmbari服务值

我们有许多Ambari LAB集群 – Apache Ambari版本2.5.0.3 ,而ambari代理安装在Linux redhat机器上

我的目标是通过自动执行stream程,find在所有Ambari群集上更新服务值的方法

我们现在所做的,就是把每个ambari集群和改变服务的价值 – 但这需要很多时间

所以如果我们有差异25 ambari实验室集群,那么我们需要访问每个ambari集群和改变值,这是非常辛苦,因为我们有很多值改变…

但是我们有一个新的想法来自动化这个过程

我们的想法是从一些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文件

最大的问题是:

如何在ambari集群上上传新的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" 

但是这不会改变现有集群的configuration。 蓝图只能在创build新群集之前使用。

如果您需要修改现有群集configuration,则可以参考此文档。