NN启动测试优化遇到的问题汇总

hadoop-2.8.5

1 写文件时遇到的问题

1.1 出现大量Under-Replicated Blocks

  1. 问题场景:写入1000w 4kB大小的文件时,出现大量Under-Replicated的block(默认3副本,大量2副本)。经排查,网络、内存、io和cpu都不是瓶颈。

  2. 原因:最后定位出和代码中判断DN是否负载过大的逻辑有关。

    配置项"dfs.namenode.replication.considerLoad"默认为true,代表需要考虑DN的负载情况。NN首先根据放置策略选择放置副本的DN,每选出一个DN,都要通过BlockPlacementPolicyDefault.isGoodDatanode()方法判断选出的DN是否合适,在该方法中会对DN的负载情况进行考察,若当前DN的DataXceiver对象数量大于平均值的2倍,则认为该DN负载过大,舍弃该DN。

  3. 解决办法:修改hdfs-site.xml文件中的配置项,重启namenode使之生效。修改的配置项如下:

<!--不考虑DN的负载情况-->
<property>
    <name>dfs.namenode.replication.considerLoad</name>
    <value>false</value>
</property>
  1. 备注:发现源码的一个小问题:isGoodDatanode()方法会将D
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值