CDH 动态资源池
- CDH 的动态资源池类似于 Yarn 中的队列概念差不多
- 现在有这样一个需求,开发环境中,就只有一套 CDH 的集群,不同的用户组使用不同的硬件资源,这时候可以通过动态资源池来实现这个功能。
- 需求:
- 一个 CDH 集群里面有开发人员和 BI 人员,开发人员可以使用 Yarn 中的百分之五十资源,BI 人员可以使用 CDH 中的百分之四十资源,剩下的百分之十硬件资源为了防止其他用户提交,用于默认。
- 本次测试的是集群是 CDH 5.16.2,测试的计算软件是 CDH 自带的 Spark 1.6 。
- 配置动态资源池
- 刷新动态资源池
- 配置动态资源池中的放置规则
- 删除已有的配置规则
- 配置放置规则
- 刷新放置规则
- 在集群中的所有节点上面创建 bi 用户组,并创建一个用户为 bi1 的账号,用户组为 bi
[root@bigdata001 ~]# groupadd bi
[root@bigdata001 ~]# useradd -g bi bi1
[root@bigdata001 ~]# id bi1
uid=1001(bi1) gid=1001(bi) groups=1001(bi)
- 使用 bi1 账号提交 Spark 程序
[root@bigdata001 ~]# clear
[root@bigdata001 ~]# su bi1
[bi1@bigdata001 root]$ cd /opt/cloudera/parcels/CDH/lib/spark/
[bi1@bigdata001 spark]$ bin/spark-submit --master yarn-cluster --class org.apache.spark.examples.SparkPi /opt/cloudera/parcels/CDH/lib/spark/examples/lib/spark-examples-1.6.0-cdh5.16.2-hadoop2.6.0-cdh5.16.2.jar
- 查看 CDH Yarn
- 可以看出本程序运行的资源池为 bi 池
- 注意:
- 在使用 CDH 动态资源池根据不同的用户组来分配资源的时候,需要在所有机器上面都要创建该用户,因为 Spark 提交到 Yarn 是一个分布式计算程序,不确定是在哪个机器上面执行。