HDFS does not have enough number of replicas 问题解决

报错:
Unable to close file because the last blockBP-:blk_ does not have enough number of replicas.

解决方案:
hdfs-site.xml -hdfs客户端高级配置代码段
1 dfs.client.block.write.locateFollowingBlock.retries = 10 把client等待的次数由6次变为10次。
修改:Cloudera Manager -> HDFS -> Configuration -> Enter hdfs-site.xml in search bar, add dfs.client.block.write.locateFollowingBlock.retries = 10 in “HDFS Client Advanced Configuration Snippet (Safety Valve) for hdfs-site.xml” 注意这个参数是加在client的hdfs-site.xml里。

hdfs-site.xml -hdfs服务高级配置代码段
2 dfs.blockreport.incremental.intervalMsec = 300 ##这个最重要
修改:Cloudera Manager -> HDFS -> Configuration -> Enter hdfs-site.xml in search bar, add dfs.blockreport.incremental.intervalMsec = 300 in “HDFS Service Advanced Configuration Snippet (Safety Valve) for hdfs-site.xml”
这个参数是说datanode不立即回送block report给namenode,而是等300毫秒,然后一次性回送300毫秒内所有block的变化,这样可以极大减轻namenode的压力。

hdfs-site.xml -datanode高级配置代码段
3 dfs.client.socket-timeout=300000
注意这次加在service level的hdfs-site.xml里。

hdfs-site.xml -NameNode高级配置代码段
4 dfs.namenode.file.close.num-committed-allowed=1
关闭文件时,允许待关闭文件中处于COMMITTED状态的Block的数量。
默认为:0,即关闭该特性。如果开启该特性,一般建议值为1~2,不建议太大。
例如:如果该参数值为1,则表示无需等待最后一个Block状态变成COMPLETED即可关闭文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值