0652-5.16.1-目录挂载点nosuid参数导致NodeManage启动失败异常分析

Fayson的github: https://github.com/fayson/cdhproject

推荐关注微信公众号:“Hadoop实操”,ID:gh_c4c535955d0f

1 问题复现

测试环境:

1.RedHat7.4

2.CM和CDH版本5.16.1

3.集群已启用Kerberos

在5.16.1集群中,启动NodeManager时失败,报错如下
0652-5.16.1-目录挂载点nosuid参数导致NodeManage启动失败异常分析_第1张图片

出现该问题的原因是文件系统/var的挂载参数含有nosuid,nosuid防止可执行文件的setuid bit生效。从而造成setuid bit设置为“root”权限的二进制文件container-executor将无法访问属主为“root”的container-executor.cfg配置文件,从而导致上述错误。

2 问题解决

所有数据节点重新挂载/var目录,移除nosuid参数

cat /proc/mounts|grep var
mount -o remount, rw /var

0652-5.16.1-目录挂载点nosuid参数导致NodeManage启动失败异常分析_第2张图片

修改配置文件/etc/fatab,将/dev/mapper/VolGroup-var行的nosuid删除

0652-5.16.1-目录挂载点nosuid参数导致NodeManage启动失败异常分析_第3张图片

3 总结

1、从CDH5.16.1开始,NodeManager在initialize container executor时,会读取文件/var/lib/yarn-ce/etc/hadoop/container-executor.cfg,此文件动态生成。

2、当配置文件/var/lib/yarn-ce/etc/hadoop/container executor.cfg所处文件系统的挂载参数含有nosuid时,nosuid防止可执行文件的setuid bit生效。 从而造成container-executor二进制文件无法访问属主为“root”的container-executor.cfg配置文件,从而导致NodeManager启动失败

你可能感兴趣的:(Hadoop实操)