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

2019-06-17 18:33:18 浏览数 (1)

作者:冉南阳

1

问题复现

  • 测试环境:

1.RedHat7.4

2.CM和CDH版本5.16.1

3.集群已启用Kerberos

在5.16.1集群中,启动NodeManager时失败,报错如下

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

2

问题解决

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

代码语言:javascript复制
cat /proc/mounts|grep var
mount -o remount, rw /var

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

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启动失败

0 人点赞