yarn任务提交任务用户全部变为nobody的问题解决记录

 

解决方法:

https://hadoop.apache.org/docs/r2.7.2/hadoop-yarn/hadoop-yarn-site/NodeManagerCgroups.html

 

yarn任务提交任务用户全部变为nobody的问题解决记录

1、修改yarn.nodemanager.linux-container-executor.nonsecure-mode.local-user 为yarn

 

2、修改以下配置

https://blog.****.net/picway/article/details/74299086

 

<property>

<name>yarn.nodemanager.linux-container-executor.nonsecure-mode.limit-users</name>

<value>false</value>

</property>

3、在允许的系统用户种,加入系统用户

allowed.system.users

yarn任务提交任务用户全部变为nobody的问题解决记录

userid需要大于1000,由于以上user的id都小于1000,所以要加入到白名单中

 

4、删除集群所有datanode中usercache的文件

移动到/tmp目录下

mkdir -p /tmp/hhh

for i in {01..08}; do mkdir -p /tmp/hhh/disk$i/; done

for i in {01..08}; do mv /disk$i/yarn/nm/usercache/* /tmp/hhh/disk$i/; done

 

直接删除

for i in {01..08}; do rm -rf /disk$i/yarn/nm/usercache/* ; done

 

5、重启yarn,任务提交用户变为系统用户

yarn任务提交任务用户全部变为nobody的问题解决记录

测试mapreduce,在hive中执行

select count(*) from test;

 

后续创建的用户uid要大于1000,否则提交任务报错