HDFS 架构、组件【重要】

简介: HDFS 架构、组件【重要】

HDFS 是分布式文件系统,它默认的存储单元是 128MB 的数据块(hadoop1.x 为 64MB)。

HDFS 架构:

HDFS 的体系框架是 Master-Slave 主备结构,一个典型的 HDFS 通常由单个 NameNode 和多个 DataNode 组成,但是为备份元数据,一般还有一个 secondary namenode(HA 模式没有,standby namenode 代替 secondary namenode)。

 

1. Client:客户端

  • 会切分文件。文件上传 HDFS 的时候,Client 将文件切分成一个一个的 Block,然后进行存储。
  • 与 NameNode 交互,获取文件的位置信息。
  • 与 DataNode 交互,读取或者写入数据。
  • Client 提供一些命令来管理 HDFS,比如启动关闭 HDFS、访问 HDFS 目录及内容等

2. NameNode:名称节点,也称主节点

  • 整个 hadoop 集群中只有一个 namenode,它是整个系统的 “总管”,用来管理数据的元数据信息,不存储具体的数据。
  • 配置副本策略,Namenode 负责监控各个 DataNode 的健康状态,一旦发现某个 DataNode 宕掉,则将该 DataNode 移出 HDFS 并重新备份其上面的数据。
  • 处理客户端读写请求。

3. DataNode:数据节点,也称从节点。NameNode 下达命令,DataNode 执行实际的操作

  • datanode 是真正存储数据的地方,存储实际的数据块。
  • 执行数据块的读写操作。

4. Secondary NameNodesecondary namenode 用来辅助 namenode,但并不是 namenode 的热备,宕机时不能代替 namenode 进行工作。(测试环境用 secondary namenode,生产环境用集群高可用)

  • 辅助 NameNode,分担其工作量
  • 定期地将 namenode 的 fsimage 和 Edits 文件进行合并,并传输给 NameNode,防止日志文件过大。
  • 合并之后的 fsimage 会在 secondary namenode 中保存一份,当 namenode 节点挂掉时可辅助恢复 NameNode。

 

相关问题:

1.Secondary NameNode 工作机制

SecondaryNameNode 是 HDFS 分布式文件系统中的一个辅助组件,它的主要作用是定期合并 Fsimage 和 Edits 文件,当 NameNode 发生故障时,Secondary NameNode 可以将从 NameNode 中下载的最新的 FSimage 和 Edits 文件合并到本地,来保证 HDFS 元数据的一致性和完整性。

SecondaryNameNode 的工作机制包括以下几个方面:

1. 接收 NameNode 的 checkpoint 请求:

SecondaryNameNode 会接收来自 NameNode 的 checkpoint 请求,并向 NameNode 发送 checkpoint 请求。在这个过程中,SecondaryNameNode 会对 NameNode 的 edits 日志进行回滚,以保证元数据的一致性和完整性。

2. 定期合并 Fsimage 和 Edits 文件:

SecondaryNameNode 会定期地从 NameNode 下载最新的 Fsimage 和 Edits 文件,并将它们合并到本地。在这个过程中,SecondaryNameNode 会检查 Fsimage 和 Edits 文件的一致性和完整性,并将任何缺失的数据从 NameNode 下载到本地。

2.NN 和 2NN 有什么区别?

NameNode 是整个集群的 “大脑”,需要处理大量的元数据操作和查询请求,维护整个分布式文件系统的命名空间和元数据信息。

Secondary NameNode 是 NameNode 的一个辅助组件,并不是 NameNode 的备份结点,无法代替 NameNode 的工作。它的主要作用是定期合并 FSimage 和 Edits 文件,当 NameNode 发生故障时,Secondary NameNode 可以将从 NameNode 中下载的最新的 FSimage 和 Edits 文件合并到本地,来保证 HDFS 元数据的一致性和完整性。

因此,NameNode 和 Secondary NameNode 的主要区别在于它们的职责和作用。NameNode 负责管理文件系统的元数据和文件信息,而 SecondaryNameNode 主要用于定期合并 FsImage 和 Edits 文件,来保证 HDFS 元数据的一致性和完整性。

3.secondary namenode 什么时候拉取 namenode 的数据进行合并

NameNode 启动时会加载之前未合并的 FSImage 和 Edits 文件进行合并,之后 SecondaryNameNode 每隔一小时执行一次,这个时间间隔可以通过参数自定义设置。

相关文章
|
2月前
|
消息中间件 存储 Java
RocketMQ(一):消息中间件缘起,一览整体架构及核心组件
【10月更文挑战第15天】本文介绍了消息中间件的基本概念和特点,重点解析了RocketMQ的整体架构和核心组件。消息中间件如RocketMQ、RabbitMQ、Kafka等,具备异步通信、持久化、削峰填谷、系统解耦等特点,适用于分布式系统。RocketMQ的架构包括NameServer、Broker、Producer、Consumer等组件,通过这些组件实现消息的生产、存储和消费。文章还提供了Spring Boot快速上手RocketMQ的示例代码,帮助读者快速入门。
|
2月前
|
分布式计算 Kubernetes Hadoop
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
177 6
|
2月前
|
存储 分布式计算 API
大数据-107 Flink 基本概述 适用场景 框架特点 核心组成 生态发展 处理模型 组件架构
大数据-107 Flink 基本概述 适用场景 框架特点 核心组成 生态发展 处理模型 组件架构
95 0
|
3月前
|
负载均衡 5G 网络性能优化
深入解析LTE(长期演进技术)的基本架构及其关键组件
深入解析LTE(长期演进技术)的基本架构及其关键组件
479 2
|
17天前
|
监控 前端开发 数据可视化
3D架构图软件 iCraft Editor 正式发布 @icraft/player-react 前端组件, 轻松嵌入3D架构图到您的项目,实现数字孪生
@icraft/player-react 是 iCraft Editor 推出的 React 组件库,旨在简化3D数字孪生场景的前端集成。它支持零配置快速接入、自定义插件、丰富的事件和方法、动画控制及实时数据接入,帮助开发者轻松实现3D场景与React项目的无缝融合。
64 8
3D架构图软件 iCraft Editor 正式发布 @icraft/player-react 前端组件, 轻松嵌入3D架构图到您的项目,实现数字孪生
|
28天前
|
SQL 数据采集 分布式计算
【赵渝强老师】基于大数据组件的平台架构
本文介绍了大数据平台的总体架构及各层的功能。大数据平台架构分为五层:数据源层、数据采集层、大数据平台层、数据仓库层和应用层。其中,大数据平台层为核心,负责数据的存储和计算,支持离线和实时数据处理。数据仓库层则基于大数据平台构建数据模型,应用层则利用这些模型实现具体的应用场景。文中还提供了Lambda和Kappa架构的视频讲解。
112 3
【赵渝强老师】基于大数据组件的平台架构
|
28天前
|
存储 缓存 分布式计算
【赵渝强老师】基于RBF的HDFS联邦架构
最新版Hadoop实现了基于Router的联盟架构,增强了集群管理能力。Router将挂载表从客户端中分离,解决了ViewFS的问题。RBF架构包括Router和State Store两个模块,其中Router作为代理服务,负责解析ViewFS并转发请求至正确子集群,State Store则维护子集群的状态和挂载表信息。
|
28天前
|
存储 分布式计算 负载均衡
【赵渝强老师】基于ViewFS的HDFS联邦架构
本文介绍了HDFS联盟(Federation)的概念及其在大数据存储中的应用。HDFS联盟通过允许多个NameNode管理不同的命名空间,实现了负载均衡和NameNode的水平扩展。文章还详细解释了基于ViewFS的联盟架构,以及该方案的局限性。附带的视频进一步讲解了相关概念。
|
2月前
|
SQL 存储 分布式计算
大数据-157 Apache Kylin 背景 历程 特点 场景 架构 组件 详解
大数据-157 Apache Kylin 背景 历程 特点 场景 架构 组件 详解
37 9
|
2月前
|
消息中间件 监控 Java
大数据-109 Flink 体系结构 运行架构 ResourceManager JobManager 组件关系与原理剖析
大数据-109 Flink 体系结构 运行架构 ResourceManager JobManager 组件关系与原理剖析
75 1