hadoop启动cgroups,centos6.5+hadoop2.7.2

centos 6.5 hadoop启用cgroups,yarn的启动用户是hadoop

1.centos6.5 需要安装cgroup

yum install -y libcgroup


遇到的问题,报错groupadd: cannot open /etc/group

(1)查看隐藏权限:lsattr /etc/group
----i--------e- /etc/group
(2)更改隐藏权限:chattr -i /etc/group

然后再通过yum安装

若报错  groupadd: cannot open /etc/gshadow,同样的处理方法。


 附录:
对于某些有特殊要求的档案(如服务器日志)还可以追加隐藏权限的设定。这些隐藏权限包括: Append only (a), compressed (c), no dump (d), immutable (i), data journalling (j),secure deletion (s), no tail-merging (t), undeletable (u), no atime updates (A), synchronous directory updates (D), synchronous updates (S), and top of directory hierarchy (T).  

lsattr命令是查看隐藏权限设定情况的,chattr是变更隐藏权限的命令。  

2.hadoop版本重新编译,需要指定-Pnative,负责会报错/lib64/libc.so.6: version `GLIBC_2.14’ not found (required by bin/container-executor),另外需要指定-Dcontainer-executor.conf.dir=/etc/hadoop,否则的话,需要将hadoop的安装目录的以及该目录的所有上级都需要设置目录的权限的user为root

  mvn package -Pdist,native -DskipTests -Dtar -Dcontainer-executor.conf.dir=/etc/hadoop

3.目录权限

cd $HADOOP_HOME/bin
chown root:hadoop container-executor
chmod 6050 container-executor

同时将$HADOOP_HOME/etc/hadoop/container-executor.cfg放置到/etc/hadoop目录下,必须是root用户的owner,修改container-executor.cfg

yarn.nodemanager.linux-container-executor.group=hadoop
banned.users=root
min.user.id=1000
allowed.system.users=hadoop

4.检查

cd $HADOOP/bin
./container-executor --checksetup

如果什么都没有输出,就正确了。

5.修改yarn-site

<property>
    <name>yarn.nodemanager.container-executor.class</name>
    <value>org.apache.hadoop.yarn.server.nodemanager.LinuxContainerExecutor</value>
</property>
<property>
    <name>yarn.nodemanager.linux-container-executor.resources-handler.class</name>
    <value>org.apache.hadoop.yarn.server.nodemanager.util.CgroupsLCEResourcesHandler</value>
</property>
<property>
    <description>yarn使用的cgroup组,默认为/hadoop-yarn</description>
    <name>yarn.nodemanager.linux-container-executor.cgroups.hierarchy</name>
    <value>/hadoop-yarn</value>
</property>
<property>
    <description>是否自动挂载cgroup</description>
    <name>yarn.nodemanager.linux-container-executor.cgroups.mount</name>
    <value>true</value>
</property>
<property>
    <description>cgroup挂载目录, /sys/fs/cgroup 或者是 /cgroup,目录和系统有关</description>
    <name>yarn.nodemanager.linux-container-executor.cgroups.mount-path</name>
    <value>/cgroup</value>
</property>
<property>
    <name>yarn.nodemanager.linux-container-executor.group</name>
    <value>hadoop</value>
</property>
<property>
    <description>配置nodemanager使用多少物理cpu资源,比如24核服务器配置90的话,最高使用21.6核</description>
    <name>yarn.nodemanager.resource.percentage-physical-cpu-limit</name>
    <value>90</value>
</property>
<property>
    <description>是控制是否严格限制cpu,即按任务申请的core限制,还是非严格限制,即按core的比率限制</description>
    <name>yarn.nodemanager.linux-container-executor.cgroups.strict-resource-usage</name>
    <value>true</value>
</property>
<property>
    <description>非安全模式将会以这里设置的用户运行container,比如配置hadoop用户则以hadoop运行container</description>
    <name>yarn.nodemanager.linux-container-executor.nonsecure-mode.local-user</name>
    <value>hadoop</value>
</property>

6.创建目录并授权

mkdir -p /cgroup/cpu
chown -R hadoop:hadoop /cgroup/cpu

7.hadoop用户下重启nodemanger

hadoop cgroup cpu资源计算方法:

比如一台机器是nodemanger节点,16核cpu,实际该机器cpu资源为1600%。设置yarn.nodemanager.resource.percentage-physical-cpu-limit为90,则nodemanager可用的cpu资源为16*0.9=14.4,则nodemanger所占用的cpu资源最高为1440%。另外,如果yarn.nodemanager.resource.cpu-vcores配置虚拟cpu核数为12,则这样的话该nodemanger上分配的一个container最多可以使用的cpu资源为1440%/12。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值