作者:李继武
1
文档编写目的
CDH平台的使用过程中,部分用户会将Hadoop平台的管理功能(如:服务组件的启停操作等)集成到公司现有的平台中,本篇文章Fayson主要介绍如何通过Cloudera Manager API接口和curl命令远程的启动平台组件。
- 测试环境
1.CDH6.1.0
2
Curl命令使用方式
代码语言:javascript复制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接口文档可参考官网文档,地址如下;
代码语言:javascript复制https://archive.cloudera.com/cm6/6.1.0/generic/jar/cm_api/apidocs/index.html#resources
3
获取CDH平台信息
1.通过如下命令调用API接口获取CM管理了哪些集群
代码语言:javascript复制curl -u admin:admin http://cdh1.macro.com:7180/api/v31/clusters
从以上信息中可看出当前平台中只有一个集群,集群的名字为cluster。
2.查看集群中有哪些组件
代码语言:javascript复制curl -u admin:admin http://cdh1.macro.com:7180/api/v31/clusters/cluster/services
该命令返回的结果较多,包含有各组件当前的运行状态
4
启停集群操作
1.如下图,当前集群状态为开启状态
2.执行如下命令关闭集群
代码语言:javascript复制curl -X POST -u admin:admin http://cdh1.macro.com:7180/api/v31/clusters/cluster/commands/stop
可以看到生成了一个关闭集群的stop命令
查看界面,集群已关闭
3.执行如下命令启动集群
代码语言:javascript复制curl -X POST -u admin:admin http://cdh1.macro.com:7180/api/v31/clusters/cluster/commands/start
通过CM可以看到当前正在执行的命令
集群启动成功
5
启停组件
此处已HDFS组件为例
1.查看hdfs当前的状态,命令如下:
代码语言:javascript复制curl -u admin:admin http://cdh1.macro.com:7180/api/v31/clusters/cluster/services/hdfs
在控制台上查看HDFS服务当前为STARTED状态与API获取到的状态一致
2.执行以下命令关闭hdfs组件
代码语言:javascript复制curl -X POST -u admin:admin http://cdh1.macro.com:7180/api/v31/clusters/cluster/services/hdfs/commands/stop
获取状态
通过CM控制台可以看到HDFS服务已停止
3.执行以下命令启动HDFS组件
代码语言:javascript复制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
提示:代码块部分可以左右滑动查看噢
为天地立心,为生民立命,为往圣继绝学,为万世开太平。 温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。