- 某次打开很久不用的虚拟机,使用root账号登陆hdfs时候报了以下错误
[root@hadoop102 hadoop]# start-dfs.sh
Starting namenodes on [hadoop102]
ERROR: Attempting to operate on hdfs namenode as root
ERROR: but there is no HDFS_NAMENODE_USER defined. Aborting operation.
Starting datanodes
ERROR: Attempting to operate on hdfs datanode as root
ERROR: but there is no HDFS_DATANODE_USER defined. Aborting operation.
Starting secondary namenodes [hadoop104]
ERROR: Attempting to operate on hdfs secondarynamenode as root
ERROR: but there is no HDFS_SECONDARYNAMENODE_USER defined. Aborting operation.
2021-12-01 14:29:33,020 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
- 进入sbin目录,在start-dfs.sh,stop-dfs.sh,start-yarn.sh,stop-yarn.sh四个文件顶部添加参数
- 在start-dfs.sh,stop-dfs.sh两个文件顶部添加如下参数
#!/usr/bin/env bash
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
- 在start-yarn.sh,stop-yarn.sh顶部添加如下参数
#!/usr/bin/env bash
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
之后就可以使用root账号登陆hdfs和yarn了