HDFS put出错问题解决:There are 0 datanode(s) running and no node(s) are excluded in this operation.

put命令上传文件出错:WARN hdfs.DFSClient: DataStreamer Exception org.apache.hadoop.ipc.RemoteException(java.io.IOException): File /test/words.txt._COPYING_ could only be replicated to 0 nodes instead of minReplication (=1).  There are 0 datanode(s) running and no node(s) are excluded in this operation.

        在解决好hive的连接问题后,我开始尝试通过HDFS上传文件来为hive上传数据,但在上传时报出了上述的错误,没有DataNode节点,实际上节点都已经打开。在经过网络查询后,不少是说hadoop namenode -format格式化时格式化了多次,spaceID不一致造成的。

        先停止集群,删除hadoop.tmp.dir(core-site.xml)下的文件(这一步是否有用我并没有查证,如果仅是自己做实验,删删问题不大),格式化namenode,后重启。

        我在停止集群格式化namenode时,多次无法成功,翻阅书本后发现(包括在开启集群时进行格式化的经验),需要先开启三个节点上的journalnode后再进行格式化,这一步相当重要,就这一小步困扰了我将近两周。然后进行格式化(hdfs namenode -format)(格式化后如果怕其他机子上的文件与01机冲突,可选择scp将文件复制过去)。

        之后尝试上传文件,发现无法连接上0102机,原因是01、02机namenode掉线,开启namenode不久后三个机的datanode全部掉线,查阅后得知是$DATA_HOME(hadoop的hdfs-xite.xml中dfs.namenode.name.dir)下name/current/VERSION中clusterIDdata/current/VERSION中的clusterID不一致,这会导致DataNode掉线,需要将name的clusterID复制给data的,然后将上层的文件夹复制给其他的集群计算机,重启集群,这样DataNode掉线问题就解决了。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值