CentOS7安装CDH 第十三章:CDH资源池配置
相关文章链接
CentOS7安装CDH 第二章:CentOS7各个软件安装和启动
CentOS7安装CDH 第四章:CDH的版本选择和安装方式
CentOS7安装CDH 第五章:CDH的安装和部署-CDH5.7.0
CentOS7安装CDH 第六章:CDH的管理-CDH5.12
CentOS7安装CDH 第七章:CDH集群Hadoop的HA配置
CentOS7安装CDH 第八章:CDH中对服务和机器的添加与删除操作
1. 静态资源池
在CDH中,一般情况下不建议使用静态资源池,在CDH中默认的资源池是动态资源池,为什么不建议使用静态资源池,原因如下:
假设给NodeManager分配了4G内存,刚刚开始使用的时候使用了3G,一段时间后任务增多,使用到了4G内存,当任务再增多时,静态资源池会OOM,但动态资源池会从其他地方调集资源过来接着使用。
2. 动态资源池的三种默认使用池
1、使用池已在运行时指定 ,如果该池不存在则加以创建:
hadoop jar -Dmapreduce.job.queuename=etl xxx.jar
假如有资源池就使用etl,没有创建etl
2、使用池 root.users.[username] ,如果该池不存在则加以创建:
hadoop jar xxxx.jar
以root来提交 root.users.root
以hdfs来提交 root.users.hdfs
3、使用池 root.default:
此规则始终满足。不会使用后续规则
3. 使用动态资源池
3.1. 动态资源池的其中2种性质
1、根据多个项目一个大的资源池的性质:
A项目(spark streaming),B项目(spark sql/hive)
一个项目:
spark streaming 10%
hive 30%
spark sql 60%
---Dmapreduce.job.queuename=root.sparkstreaming
2、根据一个项目一个大的资源池性质:
生产项目product,开发项目develop, 测试项目qa, 默认资源池
人员:
product1、product2: product
develop1、develop2: develop
qa1、qa2: qa
3.2. 配置动态资源池示例
1、创建资源池product,develop,qa和default,这些都是root的子资源池,其中内存和CPU可以自己设置,但一般不设置,就只设置权重就可以了,记得修改后要刷新动态资源池:


2、创建我们自己的放置规则:

当product1用户提交hadoop jar xxxx.jar命令时,是使用的哪个资源池?
product1用户提交的时候,取用户组是product,拼接root.product
此时判断root.product池在不在系统配置里?
假如在,就使用root.product,假如不在,第二条规则
3、配置CDH集群的Java Home目录:
在所有主机界面的配置选项中,使用安装JDK建议使用tar包解压安装,解压的目录为/usr/java下,配置好Java Home目录后请到CDH主界面更新配置,如果不更新那该资源就不会生效。
4、开启HDFS权限检查(dfs.permissions):

5、创建用户组和用户:

6、开启资源管理器ACL和设置相应的用户或者用户组:

管理ACL的格式为:" 以逗号分隔的用户列表+空格+以逗号分隔的用户组列表" ,例如 "user1,user2 group1,group2"
7、不允许未声明的池:

8、不使用默认队列时的 Fair Scheduler 用户:

9、生效配置,重启服务:

或点击电源按钮。
10、提交访问控制:
对root用户进行设置:


对其他用户进行设置,以下以develop举例,其他类似:


在动态资源池中主要刷新动态资源池就可以生效了,不需要重启服务。
3.3. 使用动态资源池示例
1、创建用户和用户组:

2、在HDFS中创建目录:

3、给创建的目录授权:
hdfs dfs -chmod -R 777 /example
4、使用product1用户上传一个文件到创建的目录下:

5、使用product1用户在HDFS中创建一个文件夹:

6、使用product1用户创建一个测试文件夹,并上传到/example/input/目录下:

7、进入到hadoop的跟目录下,并找到hadoop自带的测试jar包:

8、使用product1用户执行此jar包下的wordcount程序:
hadoop jar \
/opt/cloudera/parcels/CDH/lib/hadoop-mapreduce/hadoop-mapreduce-examples-2.6.0-cdh5.16.1.jar \
wordcount \
/example/input \
/example/output1
错误一:/user目录访问权限问题,可以通过修改HDFS的/user目录权限解决

修改前:

修改命令(需使用hdfs用户来修改):
[hdfs@bigdata01 ~]$ hdfs dfs -chmod -R 777 /user/
修改后:

注:该文件列表中user文件夹可以进行修改,但一些业务数据的文件夹,比如hbase文件夹就不能进行修改了。
错误二:用户根无法向队列root.default提交应用程序

此错误为没有将任务提交到product资源池中,可以将default资源池池设置成所有用户都可以访问即可,还可以进行其他设置,请去百度查看。
3.4. 提交一个spark程序中遇到的问题
1、当在CDH中安装spark2后,提交spark程序的命令为spark2-submit \;
2、提交任务命令如下:
cd /opt/cloudera/parcels/SPARK2/lib/spark2/examples/jars
spark2-submit \
--master yarn \
--queue $QUEUE_NAME \
--class org.apache.spark.examples.GroupByTest \
spark-examples_2.11-2.2.0.cloudera4.jar
3、错误一
17/10/21 13:18:48 INFO spark.SparkContext: Successfully stopped SparkContext
Exception in thread "main" java.lang.IllegalArgumentException:
Required executor memory (1024+384 MB) is above the max threshold (1049 MB) of this cluster!
Please check the values of 'yarn.scheduler.maximum-allocation-mb' and/or 'yarn.nodemanager.resource.memory-mb'.
at org.apache.spark.deploy.yarn.Client.verifyClusterResources(Client.scala:334)
at org.apache.spark.deploy.yarn.Client.submitApplication(Client.scala:168)
需要在yarn中配置yarn.nodemanager.resource.memory-mb参数
4、错误二
job的日志 HDFS:
User [dr.who] is not authorized to view the logs for container_e25_1508567262904_0002_01_000001 in log file [i-bsbhj3uw_8041]
此时是没有权限访问hdfs中的日志,需要在hdfs的配置文件中查找core-site,然后添加如下配置:

CentOS7安装CDH 第十三章:CDH资源池配置的更多相关文章
- CentOS7安装GitLab、汉化、邮箱配置及使用
同步首发:http://www.yuanrengu.com/index.php/20171112.html 一.GitLab简介 GitLab是利用Ruby On Rails开发的一个开源版本管理系统 ...
- CentOS7安装GitLab、汉化、邮箱配置及使用(转载)
同步首发: https://www.cnblogs.com/heyonggang/p/7778203.html http://www.yuanrengu.com/index.php/20171112. ...
- Centos7安装完成后设定基本的网络配置
Centos7设定网络 新安装的centos7,网络默认是不启动的,需要人为的手工修改配置文件,在这里把这个过程简要的记录一下. 设定ip地址与mac地址自定义 [root@web ~]# cd /e ...
- Linux 笔记 - 第二十三章 MySQL 主从复制配置
一.前言 MySQL Replication,也被称为主从复制.AB 复制.简单来说就是 A 和 B 两台服务器做主从后,在 A 服务器上写入数据,B 服务器上也会跟着写入输入,两者之间的数据是实时同 ...
- CentOS7安装CDH 第十四章:CDH的优化
相关文章链接 CentOS7安装CDH 第一章:CentOS7系统安装 CentOS7安装CDH 第二章:CentOS7各个软件安装和启动 CentOS7安装CDH 第三章:CDH中的问题和解决方法 ...
- CentOS7安装CDH 第十二章:YARN的资源调优
相关文章链接 CentOS7安装CDH 第一章:CentOS7系统安装 CentOS7安装CDH 第二章:CentOS7各个软件安装和启动 CentOS7安装CDH 第三章:CDH中的问题和解决方法 ...
- CentOS7安装CDH 第十一章:离线升级CDH版本
相关文章链接 CentOS7安装CDH 第一章:CentOS7系统安装 CentOS7安装CDH 第二章:CentOS7各个软件安装和启动 CentOS7安装CDH 第三章:CDH中的问题和解决方法 ...
- CentOS7安装CDH 第九章:CDH中安装Kafka
相关文章链接 CentOS7安装CDH 第一章:CentOS7系统安装 CentOS7安装CDH 第二章:CentOS7各个软件安装和启动 CentOS7安装CDH 第三章:CDH中的问题和解决方法 ...
- CentOS7安装CDH 第七章:CDH集群Hadoop的HA配置
相关文章链接 CentOS7安装CDH 第一章:CentOS7系统安装 CentOS7安装CDH 第二章:CentOS7各个软件安装和启动 CentOS7安装CDH 第三章:CDH中的问题和解决方法 ...
随机推荐
- Sublime Text3安装及常用插件安装
为了使用强大好用的代码编辑器来进行selenium3+Python3的自动化测试. 使用Sublime Text 3非常适合. 1.下载安装 首先到http://www.sublimetext.com ...
- 玩转CONSUL(2)–分布式锁
1. 前言 分布式锁的场景,大家应该都有遇到过.比如对可靠性有较高要求的系统中,我们需要做主备切换.这时我们可以利用分布式锁,来做选主动作,抢到锁作为主,执行对应的任务,剩余的实例作为备份 redis ...
- Eureka&Zookeeper&Consul 原理与对比
CAP 定理CAP定理:CAP定理又称CAP原则,指的是在一个分布式系统中,一致性(Consistency).可用性(Availability).分区容错性(Partition tolerance). ...
- JS 多数组中取最大数组,分组
代码小结,使用 JS 对数据进行分组,对分组中的数组取最大数组: var combineTemplate = JSON.parse(data.combineTemplate); //根据仪器种类ID分 ...
- Ubuntu18.04 安装MySQL
安装 #命令1 sudo apt-get update #命令2 sudo apt-get install mysql-server 初始化 sudo mysql_secure_installatio ...
- 《ucore lab6》实验报告
资源 ucore在线实验指导书 我的ucore实验代码 练习1: 使用 Round Robin 调度算法(不需要编码) 题目 完成练习0后,建议大家比较一下(可用kdiff3等文件比较软件) 个人完成 ...
- 035 Android Volley框架进行网络请求
1.volley入门介绍 开发Android应用的时候不可避免地都需要用到网络技术,而多数情况下应用程序都会使用HTTP协议来发送和接收网络数据.Android系统中主要提供了两种方式来进行HTTP通 ...
- 在做爬虫或者自动化测试时新打开一个新标签页,必须使用windows切换
在做爬虫或者自动化测试时,有时会打开一个新的标签页或者新的窗口,直接使用xpath定位元素会发现找不到元素,在firefox中定位了元素还是找不到, 经过多次发现,在眼睛视野内看到这个窗口是在最前面, ...
- Git学习(一)——熟悉git操作流程
本篇笔记前面都是仔细介绍使用方法,如果想跳过这些直接熟悉怎么使用,跳到最后一个知识点完整流程介绍. git 了解:特点.优点 1.git用户版和服务版整合在一起,任何机器上都安装了两个版本 2.git ...
- C++语言动态创建对象
焦头烂额的考试月终于过去了,终于有时间能停下来思考记录一下这一个月学过的东西,首先先总结一下,在自己仿写魂斗罗游戏时遇见的问题之一,人物在移动的时候如何去判断什么时候掉入水中显示水中画面,什么时候敌人 ...