频道栏目
首页 > 程序开发 > 综合编程 > 其他综合 > 正文
hadoop启动cgroups,centos6.5+hadoop2.7.2
2017-06-29 10:17:00         来源:刘光华的专栏  
收藏   我要投稿

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

    yarn.nodemanager.container-executor.class
    org.apache.hadoop.yarn.server.nodemanager.LinuxContainerExecutor

    yarn.nodemanager.linux-container-executor.resources-handler.class
    org.apache.hadoop.yarn.server.nodemanager.util.CgroupsLCEResourcesHandler

    yarn使用的cgroup组,默认为/hadoop-yarn
    yarn.nodemanager.linux-container-executor.cgroups.hierarchy
    /hadoop-yarn

    是否自动挂载cgroup
    yarn.nodemanager.linux-container-executor.cgroups.mount
    true

    cgroup挂载目录, /sys/fs/cgroup 或者是 /cgroup,目录和系统有关
    yarn.nodemanager.linux-container-executor.cgroups.mount-path
    /cgroup

    yarn.nodemanager.linux-container-executor.group
    hadoop

    配置nodemanager使用多少物理cpu资源,比如24核服务器配置90的话,最高使用21.6核
    yarn.nodemanager.resource.percentage-physical-cpu-limit
    90

    是控制是否严格限制cpu,即按任务申请的core限制,还是非严格限制,即按core的比率限制
    yarn.nodemanager.linux-container-executor.cgroups.strict-resource-usage
    true

    非安全模式将会以这里设置的用户运行container,比如配置hadoop用户则以hadoop运行container
    yarn.nodemanager.linux-container-executor.nonsecure-mode.local-user
    hadoop

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。

点击复制链接 与好友分享!回本站首页
上一篇:浅析VO、DTO、DO、PO的概念、区别和用处
下一篇:SpringBoot集成Jersey时无法访问静态资源的解决方法
相关文章
图文推荐
文章
推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站