錯誤提示:
Starting namenodes on [master]
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
ERROR: Attempting to operate on hdfs secondarynamenode as root
ERROR: but there is no HDFS_SECONDARYNAMENODE_USER defined. Aborting operation.
Starting journal nodes
ERROR: Attempting to operate on hdfs journalnode as root
ERROR: but there is no HDFS_JOURNALNODE_USER defined. Aborting operation.
Starting ZK Failover Controllers on NN hosts
ERROR: Attempting to operate on hdfs zkfc as root
ERROR: but there is no HDFS_ZKFC_USER defined. Aborting operation.
原因:
使用root賬號啟動服務,但沒預先定義
解決方法:
* 該步驟需要在每台機都執行,也可以先在其中一台機修改,再用scp同步給其它機
1.修改start-dfs.sh和stop-dfs.sh
cd /home/hadoop/sbin
vim start-dfs.sh vim stop-dfs.sh
在頭部添加以下內容:
HDFS_ZKFC_USER=root
HDFS_JOURNALNODE_USER=root HDFS_NAMENODE_USER=root HDFS_SECONDARYNAMENODE_USER=root HDFS_DATANODE_USER=root HDFS_DATANODE_SECURE_USER=root #HADOOP_SECURE_DN_USER=root
2.修改start-yarn.sh和stop-yarn.sh
cd /home/hadoop/sbin
vim start-yarn.sh vim stop-yarn.sh
在頭部添加以下內容:
#HADOOP_SECURE_DN_USER=root
HDFS_DATANODE_SECURE_USER=root
YARN_NODEMANAGER_USER=root YARN_RESOURCEMANAGER_USER=root
3.同步到其它機
cd /home/hadoop/sbin
scp * c2:/home/hadoop/sbin scp * c3:/home/hadoop/sbin scp * c4:/home/hadoop/sbin