Cloudera API访问
多租户管理页面(admin)操作
cloudera 管理页面页面操作多租户是这样的:
进入到YARN的服务页面,点击Resource Pool,你将会看到已经存在的资源池,然后再点击资源池表格右上角的”configuration“,进入到配置页面;默认是进入第一个Tab:Resource Pools,这个表格激素和现有的YARN资源队列;你可以在这里面添加新的队列,并通过制定submit user和adminuser来指定租户(可以指定多个),同时可以对于指定的租户的资源进行管控。
租户就是Linux用户;
placement rule用来决定application采用那个应用池子;
submit和admin共同来限制用户(必须要两者都指定才能生效);
子节点配置将会覆盖父节点配置;
注意在位队列指定资源的时候有个min和max,min最好不要填写;否则在不满足最小资源的情况,及时提交的应用被Accepted,仍然无法执行;min不填写,即没有下限,有点资源,应用就可以跑起来啦!
就是这个功能,如果想要通过编程的方式进行处理,找了大概半天时间,终于把API方式搞懂了。
cloudera官方文档,关于cloudera manager API
https://www.cloudera.com/documentation/enterprise/5-11-x/topics/cm_intro_api.html
java API example(但是里面有坑,比如cloudera仓库路径写的就不对,代码参考下面)
https://www.cloudera.com/documentation/enterprise/5-11-x/topics/cm_intro_automation_api.html#concept_y1t_5dz_zk
查看所有的可查看API的服务
http://10.1.108.6:7180/api/v16/clusters/Cluster%201/services/
cloudera的API列表(点开链接里面有针对此API的操作说明),注意版本号看本地的clouderan manager的版本情况而定
http://cloudera.github.io/cm_api/apidocs/v16/
cloudera的API java-doc
http://cloudera.github.io/cm_api/javadoc/5.11.0/index.html
cloudera的client源码路径:
https://github.com/cloudera/cm_api
代码
1. 在pom中添加:
<repositories>
<repository>
<id>cdh.repo</id>
<url>https://repository.cloudera.com/cloudera/cloudera-repos</url>
<name>Cloudera Repository</name>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.cloudera.api</groupId>
<artifactId>cloudera-manager-api</artifactId>
<version>5.12.1</version> <!-- Set to the version of Cloudera Manager you use -->
</dependency>
</dependencies>
2.java代码
RootResourceV17 apiRoot = new ClouderaManagerClientBuilder().withHost("10.1.108.6")
.withUsernamePassword("admin", "admin").build().getRootV17(); ApiConfig apiConfig = new ApiConfig();
apiConfig.setName("yarn_fs_scheduled_allocations");
String value = "XXXX"
apiConfig.setValue(value);
apiConfig.setSensitive(false);
ApiServiceConfig svrConfig = new ApiServiceConfig(); svrConfig.add(apiConfig);
apiRoot.getClustersResource().getServicesResource("Cluster 1").updateServiceConfig("yarn", "update queues", svrConfig);
apiRoot.getClustersResource().poolsRefresh("Cluster 1");
System.out.println("Complete!");
两处加粗和下划线,第一个地方是value,value的值可以通过下面的路径访问到,该路径返回的是YARN的config的全部内容,其中有一个节点name是:yarn_fs_scheduled_allocations,value值即为要填充到XXXX中内容;如果想要看看格式化后的json内容,拷贝到文本编辑器,替换\"为”,再找一个json格式化的工具格式化即可。
其中第二处加粗下划线是指修改完成后一定要刷新配置,这个就相当于在页面中修改配置后,点击“Refresh Dynamic Resource Pools"是一样,将配置刷到内存中。
另外一个地方就是版本,想要查看自己的cloudera manager的版本(牵涉到接口版本问题),http://cloudera_admin_site:7180/api/version
Cloudera API访问的更多相关文章
- 5 weekend01、02、03、04、05、06、07的分布式集群的HA测试 + hdfs--动态增加节点和副本数量管理 + HA的java api访问要点
weekend01.02.03.04.05.06.07的分布式集群的HA测试 1) weekend01.02的hdfs的HA测试 2) weekend03.04的yarn的HA测试 1) wee ...
- API访问客户端
API访问客户端(WebApiClient适用于MVC/WebForms/WinForm) 这几天没更新主要是因为没有一款合适的后端框架来支持我们的Web API项目Demo, 所以耽误了几天, 目前 ...
- asp.net core系列 57 IS4 使用混合流(OIDC+OAuth2.0)添加API访问
一.概述 在上篇中,探讨了交互式用户身份验证,使用的是OIDC协议. 在之前篇中对API访问使用的是OAuth2.0协议.这篇把这两个部分放在一起,OpenID Connect和OAuth 2.0组合 ...
- 第13章 切换到混合流并添加API访问 - Identity Server 4 中文文档(v1.0.0)
在之前的快速入门中,我们探讨了API访问和用户身份验证.现在我们想把这两个部分放在一起. OpenID Connect和OAuth 2.0组合的优点在于,您可以使用单个协议和使用令牌服务进行单次交换来 ...
- 大数据实操2 - hadoop集群访问——Hadoop客户端访问、Java API访问
上一篇中介绍了hadoop集群搭建方式,本文介绍集群的访问.集群的访问方式有两种:hadoop客户端访问,Java API访问. 一.集群客户端访问 Hadoop采用C/S架构,可以通过客户端对集群进 ...
- IdentityServer4 中文文档 -13- (快速入门)切换到混合流并添加 API 访问
IdentityServer4 中文文档 -13- (快速入门)切换到混合流并添加 API 访问 原文:http://docs.identityserver.io/en/release/quickst ...
- IdentityServer4【QuickStart】之切换到混合流并且添加API访问
切换到混合流并且添加API访问 前面的示例中我们开发了API访问和用户认证,现在我们要将两个合并到一起. OpenID Connect&OAuth 2.0组合的美妙之处是,你可以使用单一协议和 ...
- C++中使用ODBC API访问数据库例程
使用ODBC API访问数据库简单流程,供参考使用: ODBC API 123456789101112131415161718192021222324252627282930313233343536 ...
- 以太坊api访问,区块同步监测
以太坊geth api访问,区块同步监测 curl查询geth区块高度 supervisor管理以太坊geth进程 geth进程健康检查 # curl访问geth api #使用curl访问geth ...
随机推荐
- curl操作封装
<?php /** * Class Curl curl简单封装 get post */ class Curl { /** * @brief get请求 * @param $url 请求的url ...
- vscode使用vue中的v-for提示错误
"vetur.validation.template": false 在设置里面把vetur.validation.template改为false 文件→首选项→设置 搜索vetu ...
- DNS 介绍
DNS 介绍 DNS 为 Domain Name System (域名系统的缩写),它是一种将ip地址转换为对应的主机名或将主机名转换成与之对应的ip地址的一种服务机制.DNS使用TCP和UDP,端口 ...
- 仿Facebook登录表单
在线演示 本地下载
- 2.3UML建模之用例图关系
一.UML简介 UML(统一建模语言,Unified Modeling Language)是一种定义良好.易于表达.功能强大且普遍适用的可视化建模语言.它融入了软件工程领域的新思想.新方法和新技术.它 ...
- win10打不开菜单且点击通知栏无反应的解决方法
1.在键盘上按下win+R键,或在开始菜单图标上点击右键选择"运行" 2.输入powershell,按下“确定”运行 3.在窗口里输入或复制粘贴以下命令,注意只有一行: Get-A ...
- JAVA获取webapp路径
1.使用ServletContext获取webapp目录 在Servlet中 String path = getServletContext().getRealPath("/"); ...
- java JSON 序列化类(List<Object> 转String)
import com.alibaba.fastjson.JSONObject; import com.google.common.base.Preconditions; import com.goog ...
- 写2个线程,一个打印1-52,一个打印A-Z,打印顺序是12A34B。。。(采用同步代码块和同步方法两种同步方法)
1.同步方法 package Synchronized; /************************************同步方法****************************** ...
- JMeter常用的调试工具
JMeter常用的调试工具有如下五种: 1.View Tree:查看结果树.含请求信息.响应信息等,请求头信息中的cookie信息一般默认不会显示,可通过修改JMeter配置参数进行显示.日常大家用的 ...