背景:Hadoop正常启动,所有服务:namenode,datanode,jobtracker,tasktracker都正常启动运行。且执行hadoop其他命令如-ls,-rm,-mkdir等都正常运行。就是执行hadoop fs -put test.txt input命令时失败。
注:namenode主机ip:192.168.101.135
问题描述:
namenode节点日志(hadoop-hadoop-namenode-NameNode.log),出错信息:IOException:File /user/hadoop/input/test1.txt could only be replicated to 0 nodes,instead of 1
datanode和tasktracker日志,出错信息:call to Namenode/192.168.101.135:9000 failed on local exception:java.net.NoRouteToHostException:没有到主机的路由
原因:
hdfs文件系统出现异常;
防火墙问题;
解决方法:
文件系统异常:停止hadoop--> 把配置文件core-site.xml中选项 hadoop.tmp.dir指定目录(此处为/home/hadoop/hadoop/tmp)下的所有文件***-->重新格式化hadoop-->启动;
防火墙问题:停止hadoop-->关闭master和namenode所有节点上的防火墙-->重新启动hadoop;
关闭防火墙需切换至root用户,命令如下(centOs)
/etc/init.d/iptables stop
转载于:https://blog.51cto.com/5276605/1400945