問題一:出現Attempting to operate on hdfs namenode as root
寫在最前注意:
1、master,slave都需要修改start-dfs.sh,stop-dfs.sh,start-yarn.sh,stop-yarn.sh四個文件
2、如果你的Hadoop是另外啟用其它用戶來啟動,記得將root改為對應用戶
HDFS格式化后啟動dfs出現以下錯誤:
[root@master sbin]# ./start-dfs.sh 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 [slave1] ERROR: Attempting to operate on hdfs secondarynamenode as root ERROR: but there is no HDFS_SECONDARYNAMENODE_USER defined. Aborting operation.
查度娘,見一仁兄的博客有次FAQ,故參考處理順便再做一記錄
參考地址:https://blog.csdn.net/u013725455/article/details/70147331
在/hadoop/sbin路徑下:
將start-dfs.sh,stop-dfs.sh兩個文件頂部添加以下參數
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_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 # Licensed to the Apache Software Foundation (ASF) under one or more
修改后重啟 ./start-dfs.sh,成功!
[root@master 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 [master] 上一次登錄:日 6月 3 03:01:37 CST 2018從 slave1pts/2 上 master: Warning: Permanently added 'master,192.168.43.161' (ECDSA) to the list of known hosts. Starting datanodes 上一次登錄:日 6月 3 04:09:05 CST 2018pts/1 上 Starting secondary namenodes [slave1] 上一次登錄:日 6月 3 04:09:08 CST 2018pts/1 上
from: https://blog.csdn.net/lglglgl/article/details/80553828
問題二:正常啟動后jps查看無namenode,datanode
解決方法:
1.先查看是不是的防火牆開啟,將防火牆關閉:service iptbales stop
2.查看端口狀態:telnet 192.168.86.10 9000(192.168.86.10是我自己的靜態ip)
如果出現不能連接,那么我們需要修改我們的hosts
3.修改hosts:vi /etc/hosts
將127:0:0:1 localhost localhost.localdomain localhost4 localhost4.localdomain4
改為 ::1 localhost localhost.localdomain localhost4 localhost4.localdomain4
或者將127:0:0:1 localhost localhost.localdomain localhost4 localhost4.localdomain4 刪除
在下方寫入 192.168.86.10 mini1 localhost (192.168.86.10是我自己的靜態ip mini1是我的主機名)
4.重新啟動network:service network restart或sudo /etc/init.d/networking restart
from: https://blog.csdn.net/u010599953/article/details/75635058