HttpClient client = new HttpClient();
Base64.Encoder encoder = Base64.getEncoder();
HttpMethod method = new GetMethod("http://hdp0:8080/api/v1/clusters/HDP/configurations");
method.addRequestHeader("Authorization",
"Basic " + encoder.encodeToString("admin:admin".getBytes("iso-8859-1")));
method.addRequestHeader("X-Requested-By", "ambari");
client.executeMethod(method);
// 获取YARN的capacity-scheduler属性信息
AmbariClient aClient = new AmbariClient("10.1.108.45", "8080", "admin", "admin");
String typeName = "capacity-scheduler";
String propertieName = "yarn.scheduler.capacity.root.unfunded.capacity";
Map<String, Map<String, String>> map = aClient.getServiceConfigMap(typeName);
for (String key : map.keySet()) {
System.out.println("key: " + key + ";");
Map<String, String> kvs = map.get(key);
for (String name : kvs.keySet()) {
if (name.equals(propertieName)) {
System.out.println("name: " + name + "; value: " + kvs.get(name));
}
}
}
// 修改配置信息
Map<String, String> mapUpdate = new HashMap<String, String>(); mapUpdate.put(propertieName, "55");
aClient.modifyConfiguration(typeName, mapUpdate); map = aClient.getServiceConfigMap(typeName);
for (String key : map.keySet()) {
System.out.println("key: " + key + ";");
Map<String, String> kvs = map.get(key);
for (String name : kvs.keySet()) {
if (name.equals(propertieName)) {
System.out.println("name: " + name + "; value: " + kvs.get(name));
}
}
}

Ambari所有的服务的组件列表:

{"service_name":"HDFS","component_name":"DATANODE","hosts":"c6401.ambari.apache.org"},
{"service_name":"HDFS","component_name":"HDFS_CLIENT","hosts":"c6401.ambari.apache.org"},
{"service_name":"HDFS","component_name":"NAMENODE","hosts":"c6401.ambari.apache.org"},   
{"service_name":"HDFS","component_name":"SECONDARY_NAMENODE","hosts":"c6401.ambari.apache.org"},

{"service_name":"HIVE","component_name":"HCAT","hosts":"c6401.ambari.apache.org"},
{"service_name":"HIVE","component_name":"HIVE_CLIENT","hosts":"c6401.ambari.apache.org"},
{"service_name":"HIVE","component_name":"HIVE_METASTORE","hosts":"c6401.ambari.apache.org"},
{"service_name":"HIVE","component_name":"HIVE_SERVER","hosts":"c6401.ambari.apache.org"},
{"service_name":"HIVE","component_name":"MYSQL_SERVER","hosts":"c6401.ambari.apache.org"},
{"service_name":"HIVE","component_name":"WEBHCAT_SERVER","hosts":"c6401.ambari.apache.org"},

{"service_name":"YARN","component_name":"APP_TIMELINE_SERVER","hosts":"c6401.ambari.apache.org"},
{"service_name":"YARN","component_name":"NODEMANAGER","hosts":"c6401.ambari.apache.org"},
{"service_name":"YARN","component_name":"RESOURCEMANAGER","hosts":"c6401.ambari.apache.org"},
{"service_name":"YARN","component_name":"YARN_CLIENT","hosts":"c6401.ambari.apache.org"},

{"service_name":"MAPREDUCE2","component_name":"HISTORYSERVER","hosts":"c6401.ambari.apache.org"},
{"service_name":"MAPREDUCE2","component_name":"MAPREDUCE2_CLIENT","hosts":"c6401.ambari.apache.org"},
{"service_name":"AMBARI_METRICS","component_name":"METRICS_COLLECTOR","hosts":"c6401.ambari.apache.org"},
{"service_name":"AMBARI_METRICS","component_name":"METRICS_MONITOR","hosts":"c6401.ambari.apache.org"},

{"service_name":"PIG","component_name":"PIG","hosts":"c6401.ambari.apache.org"},

{"service_name":"TEZ","component_name":"TEZ_CLIENT","hosts":"c6401.ambari.apache.org"},

{"service_name":"ZOOKEEPER","component_name":"ZOOKEEPER_CLIENT","hosts":"c6401.ambari.apache.org"},
{"service_name":"ZOOKEEPER","component_name":"ZOOKEEPER_SERVER","hosts":"c6401.ambari.apache.org"}

通过API访问Ambari的配置的更多相关文章

  1. docker 远程rest api 访问配置

    Docker RestApi 的配置及使用 Centos Docker1.12 远程Rest api访问的配置方法 http restapiv1.24 docker sdk for python

  2. asp.net core系列 57 IS4 使用混合流(OIDC+OAuth2.0)添加API访问

    一.概述 在上篇中,探讨了交互式用户身份验证,使用的是OIDC协议. 在之前篇中对API访问使用的是OAuth2.0协议.这篇把这两个部分放在一起,OpenID Connect和OAuth 2.0组合 ...

  3. 第13章 切换到混合流并添加API访问 - Identity Server 4 中文文档(v1.0.0)

    在之前的快速入门中,我们探讨了API访问和用户身份验证.现在我们想把这两个部分放在一起. OpenID Connect和OAuth 2.0组合的优点在于,您可以使用单个协议和使用令牌服务进行单次交换来 ...

  4. Hadoop学习笔记1 - 使用Java API访问远程hdfs集群

    转载请标注原链接 http://www.cnblogs.com/xczyd/p/8570437.html 2018年3月从新司重新起航了.之前在某司过了的蛋疼三个月,也算给自己放了个小假了. 第一个小 ...

  5. 大数据实操2 - hadoop集群访问——Hadoop客户端访问、Java API访问

    上一篇中介绍了hadoop集群搭建方式,本文介绍集群的访问.集群的访问方式有两种:hadoop客户端访问,Java API访问. 一.集群客户端访问 Hadoop采用C/S架构,可以通过客户端对集群进 ...

  6. IdentityServer4 中文文档 -13- (快速入门)切换到混合流并添加 API 访问

    IdentityServer4 中文文档 -13- (快速入门)切换到混合流并添加 API 访问 原文:http://docs.identityserver.io/en/release/quickst ...

  7. IdentityServer4【QuickStart】之切换到混合流并且添加API访问

    切换到混合流并且添加API访问 前面的示例中我们开发了API访问和用户认证,现在我们要将两个合并到一起. OpenID Connect&OAuth 2.0组合的美妙之处是,你可以使用单一协议和 ...

  8. Servlet、Tomcat访问(access)日志配置、记录Post请求参数

    一.运行环境: Maven:3.5.2(点击下载) ,下载页 Tomcat:8.5.29(点击下载) ,下载页 JDK:jdk1.7.0_80(点击下载) ,下载页 MavenDependency: ...

  9. 以太坊api访问,区块同步监测

    以太坊geth api访问,区块同步监测 curl查询geth区块高度 supervisor管理以太坊geth进程 geth进程健康检查 # curl访问geth api #使用curl访问geth ...

随机推荐

  1. java中string与byte[]之间的转化分析

    背景:最近接触zookeeper的java开发,由于zookeeper中传的好像都是byte[]的数据(需要进一步确认),好多情况下都需要进行转换. 1)和zookeeper原生API不同,通过zkc ...

  2. ActiveMQ JMS实现消息发送

    一.创建配置消息发送接收目的地. ActiveMQ中间件地址 JMS_BROKER_URL=failover://(tcp://192.168.1.231:61616) QUEUE_BUSP_TP_S ...

  3. mysql入门语句

    连接 1.mysql -h localhost -u root -p ******(回车) 2.mysql -h localhost -u root -p(回车) ****** 3.mysql -u ...

  4. zip无法解压

    使用unzip解压,提示 [root@iZ28g3behi3Z html]# unzip /var/www/html/deyizhonggong.zipArchive:  /var/www/html/ ...

  5. 数字组合问题:Combination,CombinationSum,CombinationSum2,CombinationSum3

    Combination问题描述:给定n和k,找出1-n之间所有k个数的组合,例如:n=3,k=2,返回 [[1,2]  [1,3]  [2,3]] 算法分析:利用递归.递归边界就是curr.size( ...

  6. 支付宝app支付java后台流程、原理分析(含nei wang chuan tou)

    java版支付宝app支付流程及原理分析 本实例是基于springmvc框架编写     一.流程步骤         1.执行流程           当手机端app(就是你公司开发的app)在支付 ...

  7. Matlab操作矩阵的相关方法

    Matlab操作矩阵的相关方法 下面这篇文章主要是对吴恩达老师机器学习中matlab操作的一个整理和归纳 一.基本操作 1.生成矩阵(ones.zeros) A = [1 2;3 4;5 6]    ...

  8. Cassandra 的数据存储结构——本质是SortedMap<RowKey, SortedMap<ColumnKey, ColumnValue>>

    Cassandra 的数据存储结构 Cassandra 的数据模型是基于列族(Column Family)的四维或五维模型.它借鉴了 Amazon 的 Dynamo 和 Google's BigTab ...

  9. 【2018年全国多校算法寒假训练营练习比赛(第五场)-C】字符串问题(KMP)

    题目链接:https://www.nowcoder.com/acm/contest/77/C [题意] 求一个字符串中最长的子串,要求子串既是原串的前缀又是后缀,除前后缀还在中间出现过. [思路] K ...

  10. C++轮子队-软件需求规格说明书

    团队Github项目仓库 软件规格需求说明书 引言 编写目的 软件规格需求说明书书了“2048俄罗斯方块”1.0版本的软件功能性需求和非功能性需求. 文档约定 描述编写文档时所采用的标准或排版约定,包 ...