0354-如何使用Java调用CM的API动态配置Yarn资源池

本文介绍了如何使用Java调用Cloudera Manager (CM) 的API接口动态配置Yarn资源池。通过示例工程和具体步骤,展示了如何获取集群信息、设置资源池及使其生效的过程。文章还提供了关键接口的使用说明和Java代码示例。
摘要由CSDN通过智能技术生成

温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。
Fayson的github:
https://github.com/fayson/cdhproject
提示:代码块部分可以左右滑动查看噢

1.文档编写目的


用户在使用CDH集群大数据平台时会有需求在自己的统一管理平台上通过API接口能够动态的设置Yarn资源池,Cloudera Manager提供了丰富的API接口对CDH集群的各个服务进行配置等操作,在上一篇文章Fayson介绍了《如何使用curl命令调用CM的API动态配置Yarn资源池》,本篇文章Fayson主要介绍如何使用Java调用CM的API接口动态的配置Yarn资源池并使其生效。

  • 本次Fayson的测试环境

1.CM和CDH版本为5.15

2.获取Cloudera Manager的API接口


1.登录Cloudera Manager,点击菜单“支持”->“API文档”

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0Jd95IqJ-1583680662806)(https://ask.qcloudimg.com/http-save/yehe-1522219/om3wpv26ju.jpeg)]

2.进入API文档界面,可以看到API的版本为v19

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2FDhYqWn-1583680662807)(https://ask.qcloudimg.com/http-save/yehe-1522219/clz0trx28y.jpeg)]

3.本篇文章要用到的API接口说明

http://<cm_server>:7180/clusters
http://<cm_server>:7180/api/v19/clusters/{
   clusterName}/services/{
   serviceName}/config
http://<cm_server>:7180/api/v19/clusters/{
   clusterName}/commands/poolsRefresh

(可左右滑动)

共使用到3个接口:

第一个接口用于获取集群的信息,如集群的名称,以供2、3接口使用

第二个接口用于设置Yarn的资源池,接口中的{serviceName}修改为yarn

第三个接口用于刷新Yarn的资源池

3.Java示例工程


1.使用Maven创建cmapi-demo的Java工程,pom.xml内容如下:

<dependencies>
    <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
        <version>4.5.4</version>
    </dependency>
    <dependency>
        <groupId>net.sf.json-lib</groupId>
        <artifactId>json-lib</artifactId>
        <version>2.4</version>
        <classifier>jdk15</classifier>
    </dependency>
</dependencies>

(可左右滑动)

2.创建HttpUtils.java工具类,该类主要使用HttpClient方式调用CM的API接口

package com.cloudera.utils;

import org.apache.commons.lang.StringEscapeUtils;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.auth.AuthScope;
import org.apache.http.auth.UsernamePasswordCredentials;
import org.apache.http.client.CredentialsProvider;
import org.apache.http.client.methods.HttpDelete;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.methods.HttpPut;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.BasicCredentialsProvider;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值