【问题标题】:Cloudera Manager Rest API update service configCloudera Manager Rest API 更新服务配置
【发布时间】:2017-06-29 02:30:40
【问题描述】:

我想知道是否有人可以帮助我了解如何使用 REST API 更新在 cloudera 管理器中运行的服务。

我一直在浏览文档,并试图找到一种方法来更新一些纱线配置,但文档有点不清楚。 https://cloudera.github.io/cm_api/apidocs/v10/path__clusters_-clusterName-services-serviceName-_config.html

我觉得我很接近,但这是我目前所拥有的:

curl -X PUT \
     -u <admin_username>:<admin_password> \
     -H "Content-Type: application/json" \
     -d '{"yarn.scheduler.maximum-allocation-mb":4696}' \
     http://<CM_HOST>:7180/api/v10/clusters/spark-2/services/CD-YARN-rrOCWOpV/config

但是,我收到的回复是:

{
  "message" : "Unrecognized property: 'yarn.scheduler.maximum-allocation-mb'"
}

服务名称CD-YARN-rrOCWOpV 是在服务列表中标识的:

http://<CM_HOST>:7180/api/v10/clusters/spark-2/services/

从中我可以看到结果:

{
    "name" : "CD-YARN-rrOCWOpV",
    "type" : "YARN",
    ....
}

谢谢!!

编辑:

看来我写错了位置。需要的是写入角色配置(在本例中是纱线RESOURCEMANAGER 角色)。

查询角色后,我能够识别出 RESOURCEMANAGER 角色的名称为CD-Y76ddf83d-RESOURCEMANAGER-45344d25a0e70b3b594d08b277a10937

然后更新json对象以匹配从查询中找到的对象:http://&lt;CM_HOST&gt;/api/v10/clusters/spark-2/services/CD-YARN-rrOCWOpV/roles/CD-Y76ddf83d-RESOURCEMANAGER-45344d25a0e70b3b594d08b277a10937/config?view=full

curl -X PUT \
     -u <admin_username>:<admin_password> \
     -H "Content-Type: application/json" \
     -d '{"items": [{"name" : "yarn_scheduler_maximum_allocation_mb", "value":"4696"}]}' \
     http://<CM_HOST>/api/v10/clusters/spark-2/services/CD-YARN-rrOCWOpV/roles/CD-Y76ddf83d-RESOURCEMANAGER-45344d25a0e70b3b594d08b277a10937/config

能够获得成功的响应:

{
  "items" : [ {
    "name" : "resource_manager_java_heapsize",
    "value" : "472907776"
  }, {
    "name" : "yarn_scheduler_maximum_allocation_mb",
    "value" : "4696"
  }, {
    "name" : "yarn_scheduler_maximum_allocation_vcores",
    "value" : "2"
  } ]

再次感谢您!

【问题讨论】:

    标签: rest hadoop-yarn cloudera-manager


    【解决方案1】:

    正确的属性是 yarn_scheduler_maximum_allocation_mb

    【讨论】:

    • 感谢您的回复@jedijs。不幸的是,这不起作用,同样的错误unrecognized property。我尝试了几种不同的变体,但都没有成功。
    • 您可以尝试使用 cm 将您的值放在此字段中吗?并激活cm调试,之后就可以查看到cm服务器日志的调用了。
    • 谢谢!在玩了一些之后,事实证明你是对的。正确的属性是yarn_scheduler_maximum_allocation_mb。我需要将更改推送到 RESOURCE_MANAGER 角色中,并且我必须复制从查询角色配置中获得的配置结构。我将使用正确的语法编辑我的答案。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-23
    • 2016-04-29
    • 2020-01-25
    • 1970-01-01
    相关资源
    最近更新 更多