Cloudera Manager API使用

Cloudera Manager提供了很多API供用户进行访问,因此可以利用其提供的API进行大数据集群中各种服务的状态检测、监控以及服务的启停操作。

版本信息

Cloudera Manager 6.2.1

API文档入口

CM通过swagger提供了API文档说明

Cloudera Manager API使用

Cloudera Manager 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'

Cloudera Manager API使用

获取集群服务状态

/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'

Cloudera Manager API使用

获取某个服务的所有角色状态

/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信息

Cloudera Manager API使用

启停服务

Post请求:/clusters/{clusterName}/services/{serviceName}/roleCommands/start

Post请求:/clusters/{clusterName}/services/{serviceName}/roleCommands/stop

以hbase为例子,正常在CM管理界面启动过程为以下几个步骤

Cloudera Manager API使用

因此,提交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'
上一篇:python 用两个栈实现一个队列


下一篇:TZOJ 5113: Starry Night