用Cloudera Manager API启停组件说明

CDH平台的使用过程中,部分用户会将Hadoop平台的管理功能(如:服务组件的启停操作等)集成到公司现有的平台中,本篇文章Fayson主要介绍如何通过Cloudera Manager API接口和curl命令远程的启动平台组件。

  • 测试环境

1.CDH6.1.0

2

Curl命令使用方式

curl -X GET/POST/PUT/DELETE -u username:password
http://cm_host:7180/api/v31/请求内容

curl支持GET、POST、PUT、DELETE等请求方式,如下为参数说明:

username:password为CM控制台的登录用户名和密码(根据用户角色的不同,操作不同的API接口)

cm_host为CM Server服务所在节点的hostname或ip地址

具体CM API接口文档可参考官网文档,地址如下;

https://archive.cloudera.com/cm6/6.1.0/generic/jar/cm_api/apidocs/index.html#resources

3

获取CDH平台信息

1.通过如下命令调用API接口获取CM管理了哪些集群

curl -u admin:admin http://cdh1.macro.com:7180/api/v31/clusters

从以上信息中可看出当前平台中只有一个集群,集群的名字为cluster。

2.查看集群中有哪些组件

curl -u admin:admin http://cdh1.macro.com:7180/api/v31/clusters/cluster/services

该命令返回的结果较多,包含有各组件当前的运行状态

4

启停集群操作

1.如下图,当前集群状态为开启状态

2.执行如下命令关闭集群

curl -X POST -u admin:admin http://cdh1.macro.com:7180/api/v31/clusters/cluster/commands/stop

可以看到生成了一个关闭集群的stop命令

查看界面,集群已关闭

3.执行如下命令启动集群

curl -X POST -u admin:admin http://cdh1.macro.com:7180/api/v31/clusters/cluster/commands/start

通过CM可以看到当前正在执行的命令

集群启动成功

5

启停组件

此处已HDFS组件为例

1.查看hdfs当前的状态,命令如下:

curl -u admin:admin http://cdh1.macro.com:7180/api/v31/clusters/cluster/services/hdfs

在控制台上查看HDFS服务当前为STARTED状态与API获取到的状态一致

2.执行以下命令关闭hdfs组件

curl -X POST -u admin:admin http://cdh1.macro.com:7180/api/v31/clusters/cluster/services/hdfs/commands/stop

获取状态

通过CM控制台可以看到HDFS服务已停止

3.执行以下命令启动HDFS组件

curl -X POST -u admin:admin http://cdh1.macro.com:7180/api/v31/clusters/cluster/services/hdfs/commands/start

获取HDFS组件状态

hdfs组件已启动,控制台验证,已启动

6

总结

Cloudera Manager提供丰富的RSEtfull API接口,并返回标准的JSON结果。本篇文章Fayson以服务启动API接口为示例说明CM API接口的调用方式,当然Cloudera Manager也提供了编程式API接口,具体地址可以参考:

https://archive.cloudera.com/cm6/6.1.0/generic/jar/cm_api/swagger-html-sdk-docs/java/README.html

CM API接口官网文档说明:

https://www.cloudera.com/documentation/enterprise/latest/topics/cm_intro_api.html

https://cloud.tencent.com/developer/article/1399935

猜你喜欢

转载自blog.csdn.net/yangbosos/article/details/88715682