【HDFS】DataTransferProtocol#transferBlock

171 篇文章 150 订阅 ¥29.90 ¥99.00
本文探讨HDFS中DataTransferProtocol的transferBlock方法,该方法用于将数据块从一个DataNode传输到另一个DataNode,常在pipeline恢复过程中补充新节点。DataXceiver的transferBlock实际调用transferReplicaForPipelineRecovery执行复制,并依赖writeBlock来写入数据。此外,还提及了配置参数dfs.datanode.max.transfer.threads对传输线程数的影响。
摘要由CSDN通过智能技术生成

DataTransferProtocol协议里定义的transferBlock方法主要作用就是用来传入一个block到另一个datanode上。
其使用场景基本上就是客户端写pipeline时,如果遇到datanode失败,做pipeline恢复,如果满足向pipeline里补充新datanode的条件,
则要把数据传输到这个新datanode上。

  /**
   * Transfer a block to another datanode.
   * The block stage must be
   * either {@link BlockConstructionStage#TRANSFER_RBW}
   * or {@link BlockConstructionStage#TRANSFER_FINALIZED}.
   *
   * @param blk the block being transferred.
   * @param blockToken security token for accessing the block.
   * @param clientName client's name.
   * @param targets target datanodes.
   * @param targetStorageIDs StorageID designating where to write the
   *                     
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

叹了口丶气

觉得有收获就支持一下吧~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值