当前位置: 代码迷 >> 报表 >> Hadoop2.6.0下dfsadmin -report后livenodes为0 或 报错could only be replicated to 零 nodes, instead of 1
  详细解决方案

Hadoop2.6.0下dfsadmin -report后livenodes为0 或 报错could only be replicated to 零 nodes, instead of 1

热度:508   发布时间:2016-04-29 01:53:50.0
Hadoop2.6.0下dfsadmin -report后livenodes为0 或 报错could only be replicated to 0 nodes, instead of 1

题目中的两个描述相同,发生在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页面看到查看DataNodeNameNode的状态

打开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

关闭所有节点的防火墙后,

再次验证,成功。



版权声明:本文为博主原创文章,未经博主允许不得转载。

  相关解决方案