Cloudera Manager提供了很多API供用户进行访问,因此可以利用其提供的API进行大数据集群中各种服务的状态检测、监控以及服务的启停操作。
版本信息
Cloudera Manager 6.2.1
API文档入口
CM通过swagger提供了API文档说明
API使用例子
获取集群信息
/clusters
/clusters/{clusterName}
curl -u admin:admin -X GET --header 'Accept: application/json' 'http://10.200.39.35:7180/api/v32/clusters/'
curl -u admin:admin -X GET --header 'Accept: application/json' 'http://10.200.39.35:7180/api/v32/clusters/test-sh-a'
获取集群服务状态
/clusters/{clusterName}/services
/clusters/{clusterName}/services/{serviceName}
curl -u admin:admin -X GET --header 'Accept: application/json' 'http://10.200.39.35:7180/api/v32/clusters/test-sh-b/services/hbase'
获取某个服务的所有角色状态
/clusters/{clusterName}/services/{serviceName}/roles
/clusters/{clusterName}/services/{serviceName}/roleTypes
curl -u admin:admin -X GET --header 'Accept: application/json' 'http://10.200.39.35:7180/api/v32/clusters/test-sh-b/services/hbase/roles'
会返回hbase所有的ReigonServer、Master、RestServer、ThriftServer信息
启停服务
Post请求:/clusters/{clusterName}/services/{serviceName}/roleCommands/start
Post请求:/clusters/{clusterName}/services/{serviceName}/roleCommands/stop
以hbase为例子,正常在CM管理界面启动过程为以下几个步骤
因此,提交post请求时,需要在请求体中添加这些role的名字,这些名字可以先通过或取角色状态的API获得,请求会立刻返回,需要等待一会服务启动
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{
"items": [
"hbase-REGIONSERVER-37a409d505dda275d3cd835439bd435c",
"hbase-REGIONSERVER-6a50caf75a818cde464a8b75cc76a4ed",
"hbase-MASTER-37a409d505dda275d3cd835439bd435c",
"hbase-HBASERESTSERVER-f0de308ec857c8804a5390c552ca257c",
"hbase-REGIONSERVER-f0de308ec857c8804a5390c552ca257c",
"hbase-HBASETHRIFTSERVER-f0de308ec857c8804a5390c552ca257c"
]
}' 'http://10.200.39.35:7180/api/v32/clusters/test-sh-b/services/hbase/roleCommands/start'