Hadoop报错:NoRouteToHostException: No route to host

来源:互联网 发布:excel线性回归分析数据 编辑:程序博客网 时间:2024/06/10 18:24

将数据插入到HDFS

假设在本地系统,这是所谓的file.txt文件中的数据,应当保存在HDFS文件系统。按照下面给出插入在Hadoop的文件系统所需要的文件的步骤。

1

必须创建一个输入目录。

$ $HADOOP_HOME/bin/hadoop fs -mkdir /user/input 

2

传输并使用本地系统put命令,Hadoop文件系统中存储的数据文件。

$ $HADOOP_HOME/bin/hadoop fs -put /home/file.txt /user/input 

3

可以使用ls命令验证文件。

$ $HADOOP_HOME/bin/hadoop fs -ls /user/input 
说明:
执行上述第2步,报错:

原因:集群中有些节点的防火墙没有关闭,只关闭namenode所在主机的防火墙问题依旧如此。
现象如图:
[root@localhost home]# hadoop fs -put /home/file.txt /user/input17/10/17 11:57:12 INFO hdfs.DataStreamer: Exception in createBlockOutputStreamjava.net.NoRouteToHostException: No route to hostat sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717)at org.apache.hadoop.net.SocketIOWithTimeout.connect(SocketIOWithTimeout.java:206)at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:531)at org.apache.hadoop.hdfs.DataStreamer.createSocketForPipeline(DataStreamer.java:226)at org.apache.hadoop.hdfs.DataStreamer.createBlockOutputStream(DataStreamer.java:1591)at org.apache.hadoop.hdfs.DataStreamer.nextBlockOutputStream(DataStreamer.java:1547)at org.apache.hadoop.hdfs.DataStreamer.run(DataStreamer.java:658)17/10/17 11:57:12 WARN hdfs.DataStreamer: Abandoning BP-667646706-10.0.1.232-1506802644497:blk_1073741827_1003
解决方法:关闭所有节点的防火墙!
 [root@hserver2 nm-local-dir]# firewall-cmd --staterunning[root@hserver2 nm-local-dir]# systemctl stop firewalld.service [root@hserver2 nm-local-dir]# firewall-cmd --statenot running
再次执行第2步,第3步:
 [root@hserver1 current]# hadoop fs -put /home/file.txt /user/input           执行成功![root@hserver1 current]# hadoop fs -ls /user/inputFound 1 items-rw-r--r--   2 root supergroup         12 2017-10-17 13:35 /user/input/file.txt[root@hserver1 current]#


阅读全文
0 0
原创粉丝点击