Cloudera Manager Rest API 更新服务配置
Cloudera Manager Rest API update service config
我想知道是否有人可以帮助我了解如何使用 REST API 在 Cloudera 管理器中更新服务 运行。
我一直在浏览文档,并试图找到一种方法来更新一些 yarn 配置,但文档有点不清楚。
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",
....
}
谢谢!!
编辑:
看来我写错了地方。需要的是写入角色配置(在本例中是 yarn RESOURCEMANAGER
角色)。
查询角色后,我能够将 RESOURCEMANAGER 角色的名称识别为 CD-Y76ddf83d-RESOURCEMANAGER-45344d25a0e70b3b594d08b277a10937
然后更新 json 对象以匹配通过查询找到的对象:http://<CM_HOST>/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"
} ]
再次感谢!!
正确的属性是yarn_scheduler_maximum_allocation_mb
我想知道是否有人可以帮助我了解如何使用 REST API 在 Cloudera 管理器中更新服务 运行。
我一直在浏览文档,并试图找到一种方法来更新一些 yarn 配置,但文档有点不清楚。 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",
....
}
谢谢!!
编辑:
看来我写错了地方。需要的是写入角色配置(在本例中是 yarn RESOURCEMANAGER
角色)。
查询角色后,我能够将 RESOURCEMANAGER 角色的名称识别为 CD-Y76ddf83d-RESOURCEMANAGER-45344d25a0e70b3b594d08b277a10937
然后更新 json 对象以匹配通过查询找到的对象:http://<CM_HOST>/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"
} ]
再次感谢!!
正确的属性是yarn_scheduler_maximum_allocation_mb