Hadoop圈常见错误整理(不定期更新)

问题一、

Incompatible clusterIDs in … :namenode clusterID = … ,datanode clusterIDs =…

出现该错误是由于NameNode的namespaceID与DataNode不一致而导致的。解决该错误的方法:
1、删除文件夹重新格式化
2、修改DataNode上的clusterID与NameNode一致,将{dfs.datanode.data.dir}/current/VERSION文件中的clusterID改成与NameNode上的一致;

[hadoop@master current]$ pwd
/home/hadoop/software/hadoopdata/dfs/name/current
[hadoop@master current]$ cat VERSION 
#Sat Mar 30 14:58:06 CST 2019
namespaceID=681455630
clusterID=CID-43eb0f39-de8b-4fa3-9268-6f72d66eaba5
[hadoop@slave2 current]$ pwd
/home/hadoop/software/hadoopdata/dfs/data/current
[hadoop@slave2 current]$ cat VERSION 
#Mon Apr 08 07:58:54 CST 2019
storageID=DS-0ccd2b2d-6f8a-4861-a8cf-3aa0898f9873
clusterID=CID-43eb0f39-de8b-4fa3-9268-6f72d66eaba5

问题二、

could only be replicated to 0 nodes, instead of 1 …

出现这个错误说明没有可用的DataNode可供操作,原因可能:
1、DataNode中XceiverServer的连接数超过了指定阈值
(DataXceviverServer监听块传输连接请求,同时控制进行的块传输请求数(同一时刻的传输数不能超过maxXceiverCount)和带宽耗费情况(块传输时带宽耗费带宽不能超过预定值BlockTransferThrottler.bytesPerPeriod)。当在run里监听到一个块传输请求时,开启一个DataXceiver线程处理块传输。系统关闭时,会关闭用于监听的连接的ServerSocket同时将DataXceiver所产生的线程关闭,使得DataXceiver因为出现错误而退出。)
2、磁盘空间不足
3、防火墙导致无法访问DataNode
解决方法的关键是提供可用的DataNode,主要有如下方式:
1、并发过大导致连接数超过阈值的情况也可以通过添加DataNode节点来解决;
2、磁盘空间不足可以通过增加单节点容量或添加新DataNode节点来解决;
3、防火墙设置导致无法连接DataNode的情形,可以通过关闭防火墙来解决;
4、重新格式化NameNode也可以解决这个问题;
问题三、

ipc.Client: Retrying connect to server:…

这个错误主要是由于错误的端口配置导致的,仔细检查core-site.xml和hdfs-site.xml文件,同时还需确认/etc/hosts文件是否包含了所需组件的网络地址映射。
问题四、

java.net.NoRouteToHostException: No route to host

这个错误说明找不到主机,请检查网络连接是否正常,hosts文件解析是否正常,防火墙是否关闭
问题五、

Job…faild with state FAILED due to …faild on socket timeout exception…

datanode进程死亡或者网络故障造成datanode无法与namenode通信,namenode不会立即把该节点判定为死亡,要经过一段时间,这段时间暂称作超时时长。
HDFS默认的超时时间为10分钟+30秒,暂定义超时时间为timeout,
计算公式为:timeout = 2 * heartbeat.recheck.interval + 10 * dfs.heartbeat.interval

hdfs-site.xml:   
<property>
<name>heartbeat.recheck.interval</name>
<value>1200000</value>
</property>
<property>
<name>dfs.heartbeat.interval</name>
<value>5</value>
</property>

而默认的heartbeat.recheck.interval 大小为5分钟,dfs.heartbeat.interval默认的大小为3秒。
需要注意的是hdfs-site.xml 配置文件中的heartbeat.recheck.interval的单位为毫秒,dfs.heartbeat.interval的单位为秒

经验:
找不到文件:注意核对自己路径

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值