温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。
Fayson的github:
https://github.com/fayson/cdhproject
提示:代码块部分可以左右滑动查看噢

文档编写目的

Fayson在前面的文章介绍了《如何启用Impala的动态资源池》。管理员可以通过Impala的动态资源池、放置规则及ACL控制不同的用户对Impala资源使用。本篇文章主要介绍如何配置Impala的放置规则,通过一个场景进行描述,在不给作业指定资源池的情况,通过Impala的放置策略将不同的用户提交的SQL分配到不同的资源池中。

  • 内容概述

1.场景描述及测试用户准备

2.Impala资源池和放置规则配置

3.放置规则验证及总结

  • 测试环境
  1. CM和CDH版本为5.15

测试场景描述

示例场景如下:当前CDH集群供多个业务部门使用,需要为各个业务部门划分不同Impala资源池,对应业务组的用户作业需要自动的提交到划分的资源池中。如下图所示:

通过上图可以看到有Impala的资源池中创建3个队列:业务组A、业务组B、default。右边有多个业务组的用户,在用户提交作业时需要根据用户所在的也业务组不同自动为用户分配不通的资源池,接下来Fayson通过具体的Yarn动态资源池放置规则的配置进行实现。

测试用户准备

在配置前Fayson先准备三个测试用户usera、userc和usere,三个用户的组分别为testa、testb、testc。

1.在CDH集群的所有节点创建testa、testb、testc三个组,testa表示“业务组A”、testb表示“业务组B”、testc不属于任何业务组。

[root@cdh01 shell]# sh ssh_do_all.sh node.list "groupadd testa"
[root@cdh01 shell]# sh ssh_do_all.sh node.list "groupadd testb"
[root@cdh01 shell]# sh ssh_do_all.sh node.list "groupadd testc"

(可左右滑动)

2.在集群所有节点创建usera、userc、usere三个用户

[root@cdh01 shell]# sh ssh_do_all.sh node.list "useradd usera"
[root@cdh01 shell]# sh ssh_do_all.sh node.list "useradd userc"
[root@cdh01 shell]# sh ssh_do_all.sh node.list "useradd usere"

(可左右滑动)

3.将usera添加groupa组,userc添加groupb组,usere添加groupc组

sh ssh_do_all.sh node.list "usermod -a -G testa usera"
sh ssh_do_all.sh node.list "usermod -a -G testb userc"
sh ssh_do_all.sh node.list "usermod -a -G testc usere"

(可左右滑动)

4.验证创建的测试用户是否已添加到对应的业务组中

Impala动态资源池配置

根据上述的需求场景,这里需要修改默认Impala资源池配置,将资源池按照上面的业务组进行创建,在root根资源池下面分别创建testa、testb、default三个资源池。

1.使用管理员登录CM,进入Impala动态资源池管理界面

2.删除默认的资源池配置,将资源池配置为如下

注意:资源池的名称需要与业务组的名称一致,否则会导致用户不能匹配到相应的资源池。

Impala放置规则配置

在上一步完成的资源池的配置,并没有进行放置规则的配置,如果使用默认的放置规则,usera、userc、usere用户提交的作业均会被分配到default池,接下来需要进行放置规则的配置。

1.在Impala的动态资源池配置界面点击菜单“放置规则”,进入配置界面

2.将默认的放置规则删除,添加新的放置规则,两条规则分别如下:

规则一:”root.[pool name]”

规则二:“root.[secondary group]”

3.创建完成后的放置规则顺序如下:

关于放置规则类型的解释说明:

root.[pool name]:该规则始终满足,在其它规则不匹配的情况下使用,因此该规则默认要放置在所有匹配规则之后。

root.[primary group]:该放规则使用与该用户主要组匹配的资源池。Linux中用户默认的主要组与用户名一致,匹配时会通过用户的主要组与资源池名称比对。

root.[secondarygroup]:该放置规则用于匹配用户的次要组,使用与次要组之一匹配的资源池。

root.[username]:该放置规则用于匹配与用户名一致的资源池。(不推荐使用)

已在运行时指定:该放置规则主要使用在运行时指定的资源池。

放置规则的判断方式,根据放置规则的顺序1、2、3…进行判断,判断到满足条件的放置规则后,后续的规则不再进行匹配。

验证放置规则

分别使用usera、userc、usere三个用户向Impala集群提交SQL,根据上述规则的设置,usera用户提交的作业回到groupa资源池,userc用户提交的作业会到groupb资源池,userc用户提交的作业会到default资源池。

1.使用usera向Impala提交SQL作业

2.使用userc向Impala提交SQL作业

3.使用usere向Impala提交SQL作业

4.通过Cloudera Manager的Impala查询界面查看

三个用户的SQL作业通过Impala的放置规则被分配到不同的资源池里。

总结

1.通过配置放置规则的方式可以将不同用户或不同业务的作业划分到指定的资源池中,在示例中Fayson使用了Secondary Group放置规则来划分用户作业所属资源池。

2.在Secondary Group放置规则中,用户除了主要组外其他组均为次要组,都可以走Secondary Group的放置策略。

提示:代码块部分可以左右滑动查看噢
为天地立心,为生民立命,为往圣继绝学,为万世开太平。
温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。

推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。

0441-Impala动态资源池及放置规则使用相关推荐

  1. CDH中yarn的动态资源池配置

    CDH中yarn的动态资源池的相关配置 一.CDH Yarn资源队列划分管理 场景:根据不同项目或不同用户,对yarn资源队列进行划分,达到资源管控,任务管控的目的CDH版本:6.2.0 1.1配置 ...

  2. CDH中yarn的动态资源池的相关配置

    CDH Yarn资源队列划分管理 场景:根据不同项目或不同用户,对yarn资源队列进行划分,达到资源管控,任务管控的目的 CDH版本:5.15.2 配置: 1 yarn资源队列参数设置: (1)yar ...

  3. CDH 配置YARN动态资源池的计划模式,根据时间划分资源,不同时间不同队列使用不同资源

    公平调度配置可参考:http://datamining.blog.csdn.net/article/details/94554469 目录 计划模式设置 队列资源抢占分配 计划模式设置 1.创建计划规 ...

  4. Impala动态分区插入数据慢

    文章目录 一.背景分析 二.Impala分区 三.操作步骤 四.结果分析 五.主机配置 一.背景分析 有近20年的广告数据,需要对外提供查询分析服务(对数据进行Ad-Hoc式查询,Ad-Hoc:即席查 ...

  5. jeecg 3.7.1 新版功能,集群定时任务动态发布模块 使用规则

    jeecg 3.7.1  集群定时任务动态发布模块 使用规则 新版特性:    支持集群定时任务,支持分布式. 菜单路径: 系统监控-->定时任务 字段说明: 任务ID.任务说明:自定义即可 c ...

  6. 社交应用动态九宫格图片的规则

    这里主要以微信和QQ空间为作为研究对象,得到的结论如下. QQ空间里的动态 iOS设备,以iPhone6为分界 iPhone6及以上分辨率的设备: 当宽且高同时 > 512px时,判断 宽/高的 ...

  7. Drools6.4动态加加载规则之(三)kie-wb与kie-server的集群应用

    1.说明 本例讲解的是使用6.4.0.Final版本kie-wb(drools workbench)与 kie-server(KIE Execution Server)的集群搭建,:使用wildfly ...

  8. drools动态添加和删除规则(即动态修改KieBase)

    这种做法,可以实现当规则修改后不用重新创建KieBase,甚至不重新创建session,规则都会生效. 下面例子drools版本是6.4 @Test public void test117() thr ...

  9. 大数据之CDH数仓(19) | 测试之集群资源管理

    CM提供了众多的资源KPI指标,以及丰富的可视化的资源分配.运维和监控界面.运维人员能在单一管理界面配置.监控和导出实时的系统集群资源状态.管理规则以及分用户.任务的使用状况. CDH 以及 CM 能 ...

  10. jquery.validate动态更改校验规则

    有时候表单中有多个字段是相互关联的,以下遇到的就是证件类型和证件号码的关联,在下拉框中选择不同的证件类型,证件号码的值的格式都是不同的,这就需要动态的改变校验规则. 点击(此处)折叠或打开 <! ...

最新文章

  1. Map的分类和不同的应用场景
  2. Python Web 框架要点
  3. 计算机本科211调剂到双非值得吗,经验分享:从双非到211,调剂是场快准狠的战役...
  4. eclipse的安装使用
  5. Ubuntu Qt编译报错 stdlib.h: No such file or directory
  6. trackingmore快递查询平台_国际快递物流信息追踪查询
  7. 移动端vant时间选择器_vue移动端组件库(vant)
  8. XAMPP中mysql升级到5.7.36版本
  9. 制作未来计算机的ppt模板,计算机毕业设计ppt模板.doc
  10. Hi3559a移植Opencv3.0
  11. 掌上智维技术支持 App Tech Support
  12. Halcon中关于角度计算的算子详解
  13. 谷歌浏览器自带翻译失败解决方案
  14. 百度地图定位出现4.9E -324的问题解决
  15. CF103B Cthulhu 解题报告
  16. 微信小程序:关于物流样式的显示
  17. camera相机亮度测算与曝光
  18. 海格里斯穿梭车操作指南五步曲
  19. 中国广告联合总公司局域网流量控制案例【上海百络信息技术有限公司-典型案例】
  20. python批量创建账号密码

热门文章

  1. 一键实现视频二维码分享功能,So easy!
  2. 分享下写技术文章的思路
  3. Google Earth Engine(GEE)——将原始影像进行升尺度计算(以海南省为例)
  4. 计算机基础a3知识点,《计算机应用基础》期末试卷A(A3版).doc
  5. 如何设置word的有效期
  6. Maven异常:Could not find artifact
  7. 【人机交互技术】Web界面设计
  8. 大话西游2服务器维护公告,2017年02月23日停机维护公告
  9. 山东大学人工智能导论实验四 利用神经网络分类红色和蓝色的花
  10. selenium滑块拖动验证(携程)