./sbin/start-dfs.sh 开启NameNode 和 DataNode 守护进程报错

819 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。 报错信息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

验证 jps