121.1 获取CM的API接口

- API的版本为v19

- 要用到的API接口说明
http://<cm_server>:7180/clusters
# 第一个接口用于获取集群的信息,如集群的名称,以供2、3接口使用
http://<cm_server>:7180/api/v19/clusters/{clusterName}/services/{serviceName}/config
# 第二个接口用于设置Yarn的资源池,接口中的{serviceName}修改为yarn
http://<cm_server>:7180/api/v19/clusters/{clusterName}/commands/poolsRefresh
# 第三个接口用于刷新Yarn的资源池
121.2 Java
<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>
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.apache.http.util.EntityUtils;
import java.io.IOException;
import java.net.URI;
import java.util.Map;
public class HttpUtils {
/**
* Get方式用户名和密码认证
* @param url
* @param headers
* @param username
* @param password
* @return
*/
public static String getAccessByAuth(String url, Map<String, String> headers, String username, String password) {
String result = null;
URI uri = URI.create(url);
CredentialsProvider credsProvider = new BasicCredentialsProvider();