题目中的两个描述相同,发生在Hadoop环境配置过程中,
首次初始化后,启动
sbin/start-dfs.sh
sbin/start-yarn.sh
然后jps查看,namenode和datanode正常启动,
继续往下进行,
sbin/stop-dfs.sh
sbin/stop-yarn.sh
然后又正常关闭,
但是,继续验证是否配置成功时,
bin/hdfs dfsadmin -report
会发现,livenodes的信息全部是0,
出错信息如图所示,
这时,
打开http://master:50070/
通过Web页面看到查看DataNode和NameNode的状态
打开http://master:8088/cluster
通过Web界面查看任务进度
都是失败的,拷贝文件到hdfs时,也是报错could only be replicated to 0 nodes, instead of 1 ,
分别根据这两个错误查找原因,
找到的可能原因有以下几个:
1 关闭safemode模式,输入如下命令:
bin/hadoop dfsadmin -safemode leave
2 检查存储空间是否足够,输入如下命令:
df -hl
3 重新格式化hdfs,按照如下步骤
a) 删除master和所有slave上的 hadoop目录下的logs文件,并重新建立
b) 删除master和所有slave上的hdfs存储目录,即conf/core-site.xml配置文件中hadoop.tmp.dir属性对应的value所指向的目录,并重新建立
4 检查防火墙是否关闭,输入下面命令查看状态:
ufw status
输入下面命令关闭防火墙
ufw disable
5 重新检查配置文件
6 检查每台机器上的/etc/hosts文件,将没有用或不清楚作何用的ip:name对删除,最后只留下了
127.0.0.1 localhost
192.168.1.2 Master
192.168.1.3 Slave1
或
确保master(namenode) 、slaves(datanode)的防火墙已经关闭
确保DFS空间的使用情况
Hadoop默认的hadoop.tmp.dir的路径为/tmp/hadoop-${user.name},而有的linux系统的/tmp目录文件系统的类型往往是Hadoop不支持的。
先后启动namenode、datanode
$hadoop-daemon.sh start namenode
$hadoop-daemon.sh start datanode
查看hosts文件,仔细一看,好像是多了一个配置192.168.1.131 ubuntu add by netmanager ,注释掉。
安装上述说明,
service iptables stop
关闭所有节点的防火墙后,再次验证,成功。
版权声明:本文为博主原创文章,未经博主允许不得转载。