我们有许多 Ambari LAB 集群 - ApacheAmbari 版本 2.5.0.3,而 ambari 代理安装在 Linux redhat 机器上
我的目标是找到一种方法来更新所有 Ambari 集群上的服务值,通过自动化流程
到目前为止,我们所做的就是获取每个 ambari 集群并更改服务值 - 但这需要大量时间
因此,如果我们有 25 个不同的 ambari LAB 集群,那么我们需要访问每个 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
然后更新/更改新的值蓝图.json文件
最后在所有集群上上传/推送 json 文件
最大的问题是:
如何上传新的蓝图.json ambari 集群上的文件?
这是可能的情况吗?
答案1
您可以使用 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"
但这不会改变现有集群的配置。蓝图只能在创建新集群之前使用。
您可以参考这如果需要修改现有的集群配置,请参阅文档。