多租户管理页面(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

最新文章

  1. SQL Server 关于列的权限控制
  2. $smarty获取变量get,post等用法
  3. 【Codeforces 723D】Lakes in Berland (dfs)
  4. Codeforces Problem 708A Letters Cyclic Shift
  5. AspectJ的基本使用
  6. 数据库测试DbUnit
  7. FLASH CC 2015 CANVAS 中 gotoAndStop、gotoAndPlay() 不起作用
  8. 如何利用SVN合并代码
  9. homework-03 扑街。。
  10. jquery Deferred demo
  11. Android(java)学习笔记133:ListViewProject案例(ListView + BaseAdapter + CheckBox)
  12. Android初步 简单demo
  13. 蓝灯官网下载,蓝灯最新版下载,Lantern(蓝灯)
  14. js 的其它运算符和优先级
  15. 第39届ACM亚洲区域赛牡丹江赛区赛后总结
  16. python 速记正则使用(转)
  17. COGS2187 [HZOI 2015] 帕秋莉的超级多项式
  18. Linux压缩和解压命令
  19. PDO和MySQLi区别与选择?
  20. python抓取bing主页背景图片

热门文章

  1. Linux Shell编程 awk命令
  2. Linux基本命令 vim命令(二)
  3. Windows彻底卸载VMWare虚拟机
  4. linux alsa pcm(此pcm非硬件pcm接口)
  5. HAproxy 配置参数详解
  6. samtools使用过程中出现的问题
  7. servlet原理分析
  8. Go Redis 开发
  9. vRA7 Software Component
  10. iostream与iostream.h的区别