解决方法:
https://hadoop.apache.org/docs/r2.7.2/hadoop-yarn/hadoop-yarn-site/NodeManagerCgroups.html
1、修改yarn.nodemanager.linux-container-executor.nonsecure-mode.local-user 为yarn
2、修改以下配置
https://blog.csdn.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
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,任务提交用户变为系统用户
测试mapreduce,在hive中执行
select count(*) from test;
后续创建的用户uid要大于1000,否则提交任务报错