报错信息1:
hadoop@artemis-virtual-machine:/usr/local/hadoop$ ./sbin/start-dfs.sh
WARNING: HADOOP_SECURE_DN_USER has been replaced by HDFS_DATANODE_SECURE_USER. Using value of HADOOP_SECURE_DN_USER.
Starting namenodes on [localhost]
WARNING: HADOOP_SECURE_DN_USER has been replaced by HDFS_DATANODE_SECURE_USER. Using value of HADOOP_SECURE_DN_USER.
ERROR: namenode can only be executed by root.
Starting datanodes
WARNING: HADOOP_SECURE_DN_USER has been replaced by HDFS_DATANODE_SECURE_USER. Using value of HADOOP_SECURE_DN_USER.
ERROR: datanode can only be executed by root.
Starting secondary namenodes [artemis-virtual-machine]
WARNING: HADOOP_SECURE_DN_USER has been replaced by HDFS_DATANODE_SECURE_USER. Using value of HADOOP_SECURE_DN_USER.
ERROR: secondarynamenode can only be executed by root.
WARNING: HADOOP_SECURE_DN_USER has been replaced by HDFS_DATANODE_SECURE_USER. Using value of HADOOP_SECURE_DN_USER.
报错信息2:
namenode can only be executed by root.
狗屎报错耗时2小时,原因是因为我把hadoop解压不在home目录,放去了root目录
解决办法
一、重新解压到home目录下
二、修改使用者
1.把 start-dfs.sh ,stop-dfs.sh两个文件中的
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
换成
HDFS_DATANODE_USER=你的用户名
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=你的用户名
HDFS_SECONDARYNAMENODE_USER=你的用户名
如
HDFS_DATANODE_USER=hadoop
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=hadoop
HDFS_SECONDARYNAMENODE_USER=hadoop
2.把 start-yarn.sh ,stop-yarn.sh两个文件中的
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
换成
YARN_RESOURCEMANAGER_USER=你的用户名
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=你的用户名
如
YARN_RESOURCEMANAGER_USER=hadoop
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=hadoop
开启NameNode 和 DataNode 守护进程
cd /usr/local/hadoop
./sbin/start-dfs.sh
验证