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'