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

时间:2017-08-08 16:12:30

标签: linux api hadoop ambari bigdata

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

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

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

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

但我们希望通过bash脚本

下的API命令自动更改值

我在谷歌搜索了一些有关API的信息,这些信息会更改参数下的值,但没有成功

我很感激能得到关于此的答案,

1 个答案:

答案 0 :(得分:2)

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

  • 使用以下网址查找您的群集名称,如果您不知道群集名称,则需要执行以下步骤 - 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