多租户管理页面(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访问的更多相关文章

  1. 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 ...

  2. API访问客户端

    API访问客户端(WebApiClient适用于MVC/WebForms/WinForm) 这几天没更新主要是因为没有一款合适的后端框架来支持我们的Web API项目Demo, 所以耽误了几天, 目前 ...

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

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

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

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

  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. C++中使用ODBC API访问数据库例程

    使用ODBC API访问数据库简单流程,供参考使用:  ODBC API 123456789101112131415161718192021222324252627282930313233343536 ...

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

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

随机推荐

  1. 学会Retrofit+OkHttp+RxAndroid三剑客的使用,让自己紧跟Android潮流的步伐

    http://blog.csdn.net/iamzgx/article/details/51607387 概括 在上一篇博客android网络框架OkHttp之get请求(源码初识) 讲解了OkHtt ...

  2. linux基础三---网络基础&软件包管理

    一 ifconfig:显示所有正在启动的网卡的详细信息或设定系统中网卡的IP地址. ifconfig eno16777736 down/up   关闭/开启 eno16777736 网卡 ifconf ...

  3. ubuntu ssh免密码登录

    目前很多服务(ceph,openstack等)都需要用到SSH使用ssh-key进行登录,而不能使用密码进行登录. 下面是配置步骤: 一.在SSH Client生成ssh key pair root@ ...

  4. winform获取文件路径

    1.取得控制台应用程序的根目录方法     方法1.Environment.CurrentDirectory 取得或设置当前工作目录的完整限定路径     方法2.AppDomain.CurrentD ...

  5. HDFS数据流-剖析文件读取及写入

    HDFS数据流-剖析文件读取及写入 文件读取 1. 客户端通过调用FileSystem对象的open方法来打开希望读取的文件,对于HDFS来说,这个对象是分布式文件系统的一个实例.2. Distrib ...

  6. SqlCacheDependency:asp.net SQL缓存依赖

    先看下MSDN对此类的介绍: 在以下两者之间建立关系:一是在 ASP.NET 应用程序的 Cache 对象中存储的项:二是特定 SQL Server 数据库表或  SQL Server 2005 查询 ...

  7. 分享知识-快乐自己:HttpClient 访问 WebService 开放接口

    HttpClient: 场景需求如下: 1.项目中需要与一个基于HTTP协议的第三方的接口进行对接 2.项目中需要动态的调用WebService服务(不生成本地源码) 3.项目中需要利用其它网站的相关 ...

  8. 解决Navicat连接mysql报错:1862 - Your password has expired. To log in you must change it using a client that supports expired passwords.

    今天尝试用Navicat连接mysql时,发现一个1862的报错问题: 后来参照这篇文章https://blog.csdn.net/u010513756/article/details/5073501 ...

  9. 《Advanced Bash-scripting Guide》学习(十九):两个整数的最大公约数

    本文所选的例子来自于<Advanced Bash-scripting Gudie>一书,译者 杨春敏 黄毅 #!/bin/bash #求两个整数的最大公约数 E_BADARGS= #如果参 ...

  10. poj2396有源汇上下界可行流

    题意:给一些约束条件,要求算能否有可行流,ps:刚开始输入的是每一列和,那么就建一条上下界相同的边,这样满流的时候就一定能保证流量相同了,还有0是该列(行)对另一行每个点都要满足约束条件 解法:先按无 ...