博客
关于我
HDFS 的数据流
阅读量:621 次
发布时间:2019-03-13

本文共 1212 字,大约阅读时间需要 4 分钟。

HDFS 数据流与节点距离计算

HDFS(Hadoop 分散存储)是一种高效的存储系统,支持大规模数据的分布式存储与处理。在文件写入过程中,特定的数据流与节点选择机制需要�雾解析。以下从流程和节点计算两个方面详细阐述。

HDFS 写数据流程

HDFS 的写入流程包含多个关键环节,从客户端到数据节点的通信与数据传输均遵循特定的规则。

  • 客户端通过 Distributed FileSystem 模块向 NameNode (NN) 请求上传文件。在此过程中,NN 检查目标文件是否已存在,且确认目标目录是否有效。

  • NN 返回上传结果。若文件不存在或目录无效,客户端可进行上传;若已存在则需其他处理。

  • 客户端请求第一个 B lock 分布到多个 DataNode (DN) 服务器。NN 返回三个 DN 节点,分别记为 dn1、dn2、dn3。

  • 客户端使用 FSDataOutputStream 模块向 dn1 传输数据。数据按照 Packet 单位传输,dn1会将每个 Packet 转发给 dn2,dn2再转发至 dn3,确保数据流通。

  • 数据传输过程中,每个 DN 级别均建立通信管道。dn1 会将收到的 Packet 存入应答队列,等待回复处理。

  • 在完成一个 B lock 的传输后,客户端重新请求 NN上传下一个 B lock,重复上述步骤。

  • 节点距离计算

    在数据传输过程中,NameNode (NN) 通过特定机制选择距离最近的 DataNode (DN) 接收数据。这种距离计算基于文件架构,确保数据分布均衡。

    节点距离定义为:两个节点的路径在树状架构中最近的共同祖先距离总和。例如,若节点位于 /d1/r1/n1,则其与其他节点的距离可如图所示计算。

    例:

    • 如果数据中心d1的机架r1拥有节点n1,文件架构为/d1/r1/n1。
    • 节点距离需通过找出两个节点的最低公共祖先,再计算两者路径之和。

    机架感知(副本存储节点选择)

    HDFS 模式下,文件副本的分布遵循特定机制:

  • 第一个副本通常位于客户端所在的节点,或在集群内部随机选择。
  • 第二个副本需与第一个副本位于同一机架的节点,随机指定。
  • 第三个副本则选择不同机架的节点,以增强数据冗余和抗风险能力。
  • HDFS 读数据流程

    读取流程遵循类似步骤,依赖数据分布和节点选择机制:

  • 客户端通过 Distributed FileSystem 向 NN 请求文件。NN 根据元数据,确定文件块所在 DN 地址。
  • NN 随机选择一个符合靠近原则且被允许访问的 DN ,请求读取文件。
  • 选中 DN 开始数据传输。数据以 Packet 为单位流出,包含校验机制。
  • 客户端接收每个 Packet 并存入本地缓存,最后写入目标文件。
  • 整个流程确保数据高效传输和准确读取,符合HDFS 的优化目标。

    通过优化后的描述,内容既科技性强,又易于搜索引擎理解和抓取,体现了现代存储系统的关键原理。

    转载地址:http://ekjaz.baihongyu.com/

    你可能感兴趣的文章
    NSJSON的用法(oc系统自带的解析方法)
    查看>>
    nslookup 的基本知识与命令详解
    查看>>
    NSNumber与NSInteger的区别 -bei
    查看>>
    NSOperation基本操作
    查看>>
    NSRange 范围
    查看>>
    NSSet集合 无序的 不能重复的
    查看>>
    NSURLSession下载和断点续传
    查看>>
    NSUserdefault读书笔记
    查看>>
    NS图绘制工具推荐
    查看>>
    NT AUTHORITY\NETWORK SERVICE 权限问题
    查看>>
    NT symbols are incorrect, please fix symbols
    查看>>
    ntelliJ IDEA 报错:找不到包或者找不到符号
    查看>>
    NTFS文件权限管理实战
    查看>>
    ntko web firefox跨浏览器插件_深度比较:2019年6个最好的跨浏览器测试工具
    查看>>
    ntko文件存取错误_苹果推送 macOS 10.15.4:iCloud 云盘文件夹共享终于来了
    查看>>
    ntp server 用法小结
    查看>>
    ntpdate 通过外网同步时间
    查看>>
    ntpdate同步配置文件调整详解
    查看>>
    NTPD使用/etc/ntp.conf配置时钟同步详解
    查看>>
    NTP及Chrony时间同步服务设置
    查看>>