hdfs.DFSClient: Exception in createBlockOutputStream java.net.NoRouteToHostException: 没有到主机的路由

因为课程要求,最近疯狂搭建hadoop集群和spark环境,遇到一些问题,特此记录。
问题描述:
上传文本文件到HDFS 失败
(PS:我曾经上传成功,所以我的hadoop环境没有问题)

命令:
hadoop fs -mkdir -p /input/wc
hadoop -put LICENSE.txt /input/wc
报错界面:hdfs.DFSClient: Exception in createBlockOutputStream java.net.NoRouteToHostException: 没有到主机的路由_第1张图片
自查:

  1. 防火墙是否关闭(主从机都要关闭)
    systemctl stop firewalld.service
  2. 重启hdfs
    关闭所有主从机服务
    cd ~/app/hadoop/sbin ./stop-all.sh
    先删除所有的主从机dfs文件 rm -rf ~/app/tmp/dfs
    格式化HDFS hdfs namenode -format
    开启主从机服务,先开主服务器
    cd ~/app/hadoop/sbin ./start-all.sh
    查看 jps和网页是否正常,注意节点数是否正常,集群下,DataNotes不应该是1
    http://192.168.1.109:50070/dfshealth.html#tab-datanode
    hdfs.DFSClient: Exception in createBlockOutputStream java.net.NoRouteToHostException: 没有到主机的路由_第2张图片
  3. 主从机是否真的start-all.sh成功
    核查每个主从机的start-all.sh,因为他可能会自己终端等你输入密码(我就是这么被坑的)
    hdfs.DFSClient: Exception in createBlockOutputStream java.net.NoRouteToHostException: 没有到主机的路由_第3张图片

附:各类HDFS命令
hadoop fs -mkdir -p /input/wc
hadoop fs -put file /input/wc
hadoop fs -ls /input/wc
hadoop fs -copyFromLocal /root/app/hadoop/README.txt /input/wc
hadoop fs -cat /input/wc

你可能感兴趣的:(hdfs.DFSClient: Exception in createBlockOutputStream java.net.NoRouteToHostException: 没有到主机的路由)