Hadoop 3.1.0 在 Ubuntu 16.04 上安装时遇到的问题
1、Hadoop 安装 pdsh localhost: Connection refused
Hadoop安装过程中使用
$ sbin/start-dfs.sh
启动节点时,发生错误提示:
pdsh@xxx: localhost: connect: Connection refused
解决办法:
其原因是 pdsh 默认采用的是rsh登录,修改成ssh登录即可,可以通过在环境变量 /etc/profile 里加入:
export PDSH_RCMD_TYPE=ssh
然后再执行 source /etc/profile 使修改生效,再启动查看即可看到hdfs服务可以启动。
2、执行 sbin/start-dfs.sh 时出现 “ ERROR: Attempting to operate on hdfs namenode as root ” 等错误
如下:
[root@server1 hadoop-3.1.0]# sbin/start-dfs.sh Starting namenodes on [server1] 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 [server1] ERROR: Attempting to operate on hdfs secondarynamenode as root ERROR: but there is no HDFS_SECONDARYNAMENODE_USER defined. Aborting operation. 2018-05-21 14:49:57,012 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
解决办法:
在 start-dfs.sh 和 stop-dfs.sh 两个文件中添加下面的配置参数:
HDFS_DATANODE_USER=root HADOOP_SECURE_DN_USER=hdfs HDFS_NAMENODE_USER=root HDFS_SECONDARYNAMENODE_USER=root
3、在使用问题2中解决方案后,可能会遇到 “WARNING: HADOOP_SECURE_DN_USER has been replaced by HDFS_DATANODE_SECURE_USER.” 问题
解决方法:
在上面 sbin/start-dfs.sh 和 sbin/stop-dfs.sh 文件中,将
HDFS_DATANODE_USER=root HADOOP_SECURE_DN_USER=hdfs HDFS_NAMENODE_USER=root HDFS_SECONDARYNAMENODE_USER=root
改为:
HDFS_DATANODE_USER=root HDFS_DATANODE_SECURE_USER=hdfs HDFS_NAMENODE_USER=root HDFS_SECONDARYNAMENODE_USER=root
这应该是 Hadoop 版本不同导致的问题。
4、Hadoop 安装后,不能使用浏览器登陆查看
解决方法:
原因很可能是被官方文档中的安装说明误导了,官方文档中是:
Browse the web interface for the NameNode; by default it is available at:
NameNode - http://localhost:50070/
但官方文档是基于 hadoop-2.9.1 版本介绍的,而在 Hadoop-3.1.0 版本中需要登陆的 http 地址为:
http://localhost:9870/
或者:
http://10.10.10.1:9870 (可能有问题)
5、hadoop :mkdir: 'input': No such file or directory
在执行 bin/hadoop dfs -mkdir input 时,发生错误:
hadoop :mkdir: 'input': No such file or directory
解决方法:
这个问题是由于 Hadoop 版本更新改变造成的,上面的命令适用于 Hadoop-2.x 以前的版本,hadoop-3.1.0 版本中已经将命令改成了:
bin/hdfs dfs -mkdir -p ..