1、关闭防火墙: ufw disable
2、删除name下的currect,清理tmp
rm -rf /home/bllose/hadoop-2.7.5/hdfs/name/currect
rm -rf /home/bllose/hadoop-2.7.5/tmp
3、core-site.xml下fs.deaultFS设置为:hdfs://master:9000。并且拼写正确
4、core下的hadoop.tmp.dir与 hdfs下的dfs.datanode.data.dir都设置为:file:/home/hadoop/hadoop-2.7.5/tmp。手动建立此目录且将hadoop下所有目录文件都设置为Hadoop用户所有
5、设置了hosts。 主从服务器都分别设置了hostname。
以上是找到普遍存在的解决办法。我一一实验,最终还是没能解决这个问题。
我的测试环境为:
VMware下安装三个Ubuntu 16.04.3,JDK 1.8.0_151, hadoop 2.7.5
主机:master 192.168.13.133
奴隶机: slaver1 192.168.13.134
奴隶机: slaver2 192.168.13.135
基本搭建过程:
主要参考:http://blog.csdn.net/zl007700/article/details/50533675
1、三台机器上分别建立hadoop用户,且安装jdk。
2、在主机上解压hadoop-2.7.5到/home/hadoop目录下。
3、在主机上建立秘钥,且将pub key 分别放到三台机器上的authorized_keys中。
4、参考教程配置$HADOOP_HOME/etc/hadoop/*-site.xml 相关文件。
5、设置主机的hosts和hostname,设置两台奴隶机的hostname。
6、通过scp命令,将主机上的hadoop拷贝到两台奴隶机上。
6、格式化bin/hdfs nodename -format。
7、拉起hadoop:sbin/start-all.sh。
以上步骤我反复核对,反复修正,感觉找不出啥问题了。
主机启动后:
hadoop@ubuntu:~$ jps
3760 Jps
3128 NameNode
3339 SecondaryNameNode
3484 ResourceManager
启动后奴隶机1:
hadoop@ubuntu:~$ jps
3647 Jps
2751 DataNode
奴隶机2:
hadoop@ubuntu:~$ jps
2609 DataNode
3621 Jps
但是每次当我尝试向HDFS上传文件时就报错:
org.apache.hadoop.ipc.RemoteException(java.io.IOException): File /input/core-site.xml._COPYING_ could only be replicated to 0 nodes instead of minReplication (=1). There are 0 datanode(s) running and no node(s) are excluded in this operation.
https://pan.baidu.com/s/1qYcF2fM 这里是我的配置文件和Log文件
烦请大师抽空帮我看看,感激不尽!