cdh4 vs cdh3 client处理DataNode异常的不同

cdh4在处理pipeline中的错误时,逻辑上与原先不一样。 

cdh3在处理pipeline的错误时,假设当前pipeline有3个datanode,如果一个有问题,那么通过移除掉坏的datanode,重新建立只有2个datanode的pipeline,然后接着往这两个节点的pipeline写,直到结束。 

cdh4默认处理时不一样,如果当前pipeline有3个datanode,有一个出了问题,那么把这个从pipeline中移除,然后向namenode在申请一个新的datanode,从其中一个好的datanode上面的块数据拷贝到这个新的datanode,然后建立一个新的3个datanode的pipeline。 

 

cdh4这个策略可以配置,见类ReplaceDatanodeOnFailure,默认见下面:

  public static final String  DFS_CLIENT_WRITE_REPLACE_DATANODE_ON_FAILURE_ENABLE_KEY = "dfs.client.block.write.replace-datanode-on-failure.enable";
  public static final boolean DFS_CLIENT_WRITE_REPLACE_DATANODE_ON_FAILURE_ENABLE_DEFAULT = true;
  public static final String  DFS_CLIENT_WRITE_REPLACE_DATANODE_ON_FAILURE_POLICY_KEY = "dfs.client.block.write.replace-datanode-on-failure.policy";
  public static final String  DFS_CLIENT_WRITE_REPLACE_DATANODE_ON_FAILURE_POLICY_DEFAULT = "DEFAULT";

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值