`
zqhxuyuan
  • 浏览: 32264 次
  • 性别: Icon_minigender_1
  • 来自: 福建
社区版块
存档分类
最新评论

Hadoop DataNode小结

阅读更多

 

在分析DataNode时, 因为DataNode上保存的是数据块, 因此DataNode主要是对数据块进行操作. 

**A. DataNode的主要工作流程:**  

1. 客户端和DataNode的通信: 客户端向DataNode的`数据块读写`, 采用TCP/IP流接口(DataXceiver)进行数据传输  

2. 客户端在检测到DataNode异常, 主动发起的`数据块恢复`, 客户端会通过ClientDatanodeProtocol接口采用RPC调用的方式和DataNode通信.  

3. `数据块替换和拷贝`, 由负载均衡器Balancer发起的, 是发生在DataNode之间. 也是通过DataXceiver进行数据传输  

4. DataNode在启动后会向NameNode分别完成: `握手, 注册, 心跳, 块报告`.  

5. NameNode根据DataNode的块报告和心跳, 会返回给DataNode`指令`. 通过这种方式NameNode间接地和DataNode进行通信.  

  实际上NameNode作为Server端, 是不会主动去联系DataNode的, 只有作为客户端的DataNode才会去联系NameNode.  

  DataNode在接收到NameNode的指令信息, 被要求去做: 重新向NameNode注册, 数据块传输, 恢复等.  

6. NameNode检测到数据块的副本个数不足. 要求DN执行`数据块传输`(DNA_TRANSFERBLOCK), DataNode使用DataTransfer也是基于DataXceiver流接口.   

7. NameNode发起的数据块恢复(DNA_RECOVERBLOCK), 是检测到客户端/租约错误, 恢复策略是选取参与到恢复过程中的数据块的最小长度.  

8. 不管是客户端错误会被NN返回数据块恢复命令给DN执行恢复操作, 还是DN错误由客户端主动触发的数据块恢复操作. 都会使用到  

  InterdatanodeProtocol的两个数据块恢复方法(startBlockRecovery和updateBlock).  

  因为数据块恢复实际上是在DN之间根据恢复策略恢复到数据块正常的状态. 而且恢复时不像写数据没有数据来源. 所以是在DN之间进行通信.   

**B. 从DataNode的功能来看:**  

1. DataNode实现的两个接口ClientDatanodeProtocol和InterDatanodeProtocol都用于数据块恢复.  

2. 数据块的其他操作使用TCP/IP流式接口来完成: DataXceiver(读写, 替换, 复制)和DataTransfer(传输).  

**C. 从DataNode的通信来看:**  

1. 客户端可以向DataNode发起读写数据块请求, 主动发起数据块恢复.  

2. DataNode向NameNode握手, 注册, 心跳, 块报告. 并接收NameNode的指令.

 



 

  • 大小: 11.9 KB
分享到:
评论

相关推荐

    hadoop2.0 2个namenode 2个datanode 部署

    小结 在这个部署中,我们使用 Hadoop 2.0 在两个 Ubuntu 服务器上部署了双 Namenode 双 Datanode 集群,实现了高可用性和负载均衡。这种架构可以满足大规模数据存储和处理的需求,适合大数据应用场景。

    DataNode职责.pptx

    小结: DataNode是HDFS的核心组件,负责存储和管理数据块。DataNode的职责包括hubert定期向NameNode发送存储块的列表,存储数据块,和提供数据块的读取和写入服务。同时,DataNode还负责管理数据块的缓存和冗余度,...

    Hadoop学习总结.doc

    ### Hadoop 学习总结 #### 一、HDFS简介 **1.1 数据块(Block)** HDFS(Hadoop Distributed File System)是Hadoop的核心组件之一,它主要用于存储大规模的数据集。HDFS默认的基本存储单位是64MB的数据块。与...

    使用hadoop实现WordCount实验报告.docx

    - **创建data文件夹**:创建namenode和datanode子文件夹。 - **修改配置文件**:更新`hdfs-site.xml`、`mapred-site.xml`和`yarn-site.xml`中的相关路径。 - **添加tmp文件夹**:在Hadoop根目录下创建tmp文件夹。...

    Hadoop技术-Hadoop伪分布式安装.pptx

    五、伪分布式安装步骤小结 伪分布式安装是Hadoop技术中的一个重要组件,通过设置SSH免密码、安装JDK和Hadoop、配置环境变量、修改配置文件等步骤,可以完成伪分布式安装。这种安装方式可以模拟一个小规模的集群,...

    Hadoop实战

    71.5.2 相同程序在MapReduce中的扩展 91.6 用Hadoop统计单词——运行第一个程序 111.7 Hadoop历史 151.8 小结 161.9 资源 16第2章 初识Hadoop 172.1 Hadoop的构造模块 172.1.1 NameNode 172.1.2 DataNode 182.1.3 ...

    2013年Intel南京大学大数据技术培训小结

    Hadoop 2.0通过引入HA(High Availability)机制,将NameNode功能并入DataNode,解决了这个问题,提高了系统的可用性。 2. **流数据处理**:Hadoop最初设计并不适合实时流数据处理。尽管目前开源社区尚未提供完善的...

    Hadoop技术-HDFS目录树.pptx

    ### 小结 HDFS的目录树结构由INode节点构建,这些节点包含了文件和目录的基本信息。INodeFile和INodeDirectory分别对应文件和目录,它们扩展了基本的INode功能,以满足特定需求。通过理解和掌握HDFS的目录树结构,...

    hadoop大数据实战手册

    1.3 小结…..............………………··…………….......….................….......….........……………….. 31 VI 第2 章HDFS 的数据管理与策略选择… . .... .. ....... … … ………… . .. . ... .. .....

    hadoopq集群搭建.pdf

    小结 Hadoop 集群搭建需要注意的几个问题:HDFS 进入安全模式、Hadoop 本地库加载失败、Maps to localhost 问题、jps 命令正常,但是 8088 端口的 WEB 页面无法访问、8088 端口访问正常,但是看不到 DataNode 节点...

    NameNode职责.pptx

    小结 NameNode的职责是维护HDFS的命名空间和文件系统,包括维护fsImage文件和editLog文件。fsImage文件存储了HDFS的元信息,而editLog文件存储了HDFS的操作日志。了解NameNode的职责和fsImage、editLog文件的作用...

    2021Java大厂面试题——大厂真题之唯品会-Java大数据开发工程师.pdf

    **小结**: 理解Kafka消息的结构对于了解消息是如何在网络中传输以及如何保证消息完整性和一致性至关重要。 #### 二、Kafka Offset的查看方法 Kafka中的Offset用于标识消息在Partition中的位置。查看Kafka Offset的...

    Yarn 配置相关的文档

    5. 小结 本文档主要介绍了 Yarn 配置相关的知识点,包括 HDFS Federation 和架构的配置。我们可以通过配置 hdfs-site.xml 文件来定义 Namenode 和 Datanode 的配置,并且可以通过使用 pssh 和 pscp 工具来便捷地...

Global site tag (gtag.js) - Google Analytics