ambari + API 语法以更改 ambari 服务的参数

ambari + API syntax in order to change the parameters of the ambari services

在 Ambari 集群 GUI(版本 2.5.0.3)中,每个服务都有配置按钮

当我们点击配置按钮时,我们可以看到所有相关参数及其值的列表

例如 YARN 服务有参数 - 以 MB 为单位的最小容器大小(内存)

当然,我们可以从 ambari GUI 更改参数值……

但我们想通过 bash 脚本

下的 API 命令自动更改值

我在 google 中搜索了一些关于更改参数值的 API 的信息,但没有成功

很高兴能得到这方面的答案,

以下是使用 REST 更新服务配置的步骤 API。

  • 使用下面的 url 找到您的集群名称,如果您不知道集群名称,则需要在下面的步骤中 - http://<AMBARI-SERVER>:8080/api/v1/clusters/
  • 找到 属性 名称,从集群配置中输入 json 可以使用 url 访问,用上面步骤中的集群名称替换 - http://<AMBARI-SERVER>:8080/api/v1/clusters/<CLUSTER_NAME>
  • 假设我想更新 YARN 节点管理器 属性 yarn.nodemanager.resource.memory-mb,创建一个 json 文件如下 -

newconfigs.json

{
  "Clusters": {
    "desired_config": {
      "type": "yarn-site",
      "tag": "version1502226523283",
      "properties": {
        "yarn.nodemanager.resource.memory-mb": "200000"
      }
    }
  }
}

标签号应该是唯一的 - 只需提供一些随机数,您可以使用以下命令在 Ambari 中更新此配置。下面 API 使用 REST - PUT 方法。

curl -H "X-Requested-By: ambari" -X PUT -u admin:admin -d @newconfigs.json http://<AMBARI-SERVER>:8080/api/v1/clusters/<CLUSTER_NAME>

请参阅下面的 ambari 官方 REST api 文档了解更多详细信息。

https://github.com/apache/ambari/blob/trunk/ambari-server/docs/api/v1/configuration.md