HDFS(Hadoop Distributed File System)

ops/2024/12/12 10:59:28/

HDFS(Hadoop Distributed File System)工作原理简介

HDFS 是 Hadoop 的核心组件,设计用于在大规模分布式环境中存储和处理海量数据。以下是其主要工作原理:


1. 架构组成

HDFS 采用主从架构,由以下两类关键节点组成:

  • NameNode(主节点):
    • 管理文件系统的元数据,包括文件目录结构、文件与数据块的映射、数据块的存储位置等。
    • 负责文件系统命名空间的操作,如打开、关闭、重命名文件和目录。
  • DataNode(从节点):
    • 存储实际的数据块。
    • 按 NameNode 的指令执行数据块的读写操作。

2. 文件存储
  • 分块存储:
    • 文件被分成大小固定的数据块(默认 128 MB),每个块被分布存储在集群中的多个 DataNode 上。
    • 每个数据块在多个节点上存储副本(默认 3 副本),以提高数据可靠性和容错能力。
  • 副本机制:
    • NameNode 确定每个数据块的存储位置,并管理副本分布策略(通常一个副本在本地节点,一个在同一机架内,另一个在不同机架)。

3. 读写数据
  • 写数据:
    1. 客户端向 NameNode 请求创建文件。
    2. NameNode 分配数据块的存储位置。
    3. 客户端按顺序将数据写入多个 DataNode。
    4. NameNode 更新元数据,记录文件与数据块的映射关系。
  • 读数据:
    1. 客户端向 NameNode 请求读取文件。
    2. NameNode 返回文件对应的数据块及其存储位置。
    3. 客户端直接从相应的 DataNode 拉取数据。

4. 容错与高可用性
  • 副本管理:
    • 当 DataNode 故障或副本丢失时,NameNode 会自动触发副本再生成。
  • 心跳机制:
    • DataNode 定期向 NameNode 发送心跳与块报告,以告知其运行状态和数据块信息。
  • 高可用性(HA):
    • 引入 Standby NameNode,确保主 NameNode 故障时服务不中断。

5. 优点与适用场景
  • 优点:
    • 高容错性:通过副本机制和分布式存储实现。
    • 高吞吐量:适合批量处理大规模数据。
    • 扩展性:可以轻松添加节点扩展存储容量。
  • 适用场景:
    • 海量日志分析、视频存储、分布式数据处理等。

通过这些核心功能和机制,HDFS 成为分布式大数据存储的基础。


http://www.ppmy.cn/ops/141230.html

相关文章

ragflow连不上ollama的解决方案

由于前期wsl默认装在C盘,后期部署好RagFlow后C盘爆红,在连接ollama的时候一直在转圈圈,问其他人没有遇到这种情况,猜测是因为内存不足无法加载模型导致,今天重新在E盘安装wsl 使用wsl装Ubuntu Win11 wsl-安装教程 如…

windows 脚本批量管理上千台服务器实战案例

如果你们有接触服务器,都是知道服务器有BMC管理界面的,这几天我在做项目中,需要不断的开关机服务器,如果一两台服务器登录BMC界面重启服务器还好,如果服务器数量非常的庞大,成百上千台,我们不可…

JWT报CORSFilter错误原因(以Java SpringBoot为例)

JWT 报 CorsFilter 原因,通常是因为跨域请求未通过浏览器的同源策略检查,而 CorsFilter 是用来处理跨域问题的过滤器。如果后端未正确配置 CORS 或 JWT 的传递方式不符合跨域要求,可能导致此类问题。 以下是具体原因及解决方法: …

Spring Boot读取配置文件的六种方案

从配置文件中获取属性应该是SpringBoot开发中最为常用的功能之一,但就是这么常用的功能,仍然有很多开发者在这个方面踩坑,以下是我整理的几种获取配置属性的方式。 一、Environment 使用 Environment 方式来获取配置属性值非常简单&#xf…

location规则和rewrite重定向

location匹配规则 在nginx当中,匹配的对象一般是uri来匹配 location匹配的分类: 多个location一旦匹配其中之一,就不在匹配其他的location 1、精确匹配 location / {…} :完全相同,一个字符错都匹配不到 2、正则匹配 location ~…

迭代器模式的理解和实践

引言 在软件开发中,我们经常需要遍历容器对象(如数组、列表、集合等)中的元素。如果每个容器对象都实现自己的遍历算法,那么代码将会变得冗余且难以维护。为了解决这个问题,迭代器模式应运而生。迭代器模式是一种行为型…

Linux之cpu性能分析(Analysis of CPU Performance in Linux)

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 本人主要分享计算机核心技…

亚马逊云科技re:Invent:生成式AI与全球布局

作为全球云计算和人工智能领域一年一度的顶级盛宴,亚马逊云科技2024 re:Invent全球大会吸引了超过6万名现场观众以及40多万名线上参会者。而大会上生成式AI的相关话题和内容,也成为了所有观众关注的焦点。 大会期间,亚马逊云科技全球服务副总…