Hadoop配置过程的错误

本文介绍了在使用Spark运行任务时遇到的Block丢失问题及排查过程。通过分析Hadoop集群中DataNode和NameNode的日志,发现由于虚拟机克隆导致的节点配置问题,最终定位并解决了丢失现象。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

错误经过

在使用spark跑任务时,会报出如下的错误:
这里写图片描述
如图上所描述,是block出现了丢失的情况,联想到之前配置hadoop时,在webUI的50070端口查看live node时,5个节点的集群只显示3个live node,怀疑有可能是datanode出现了问题.

排查过程

先去看了一下datenode的log文件,并没有发现异常.
再去查看namenode的log文件,发现了log文件中一直重复如下内容:
这里写图片描述
一直在重复节点的remove和add,正好和我们现在的情况一致(3个live node,一直在5个节点中不断重复)
再继续看log文件,发现如下的一段文字:

2013-06-21 18:53:39,182 FATAL org.apache.hadoop.hdfs.StateChange:
BLOCK* NameSystem.getDatanode: Data node x.x.x.x:50010 is attempting
to report storage ID DS-1357535176-x.x.x.x-50010-1371808472808. Node
y.y.y.y:50010 is expected to serve this storage.

再去搜索相关内容,终于找到了问题的根源,原来是因为集群节点的配置是使用虚拟机克隆的方式,导致节点中dfs.data.dir目录下数据是一样的(指hdfs中的元信息和数据都一样),将在hdfs-site.xml中配置的dfs.data.dir目录下内容删除掉,再次启动集群,发现问题已经得到解决.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值