HDFS 架构剖析

目录

一、HDFS 架构整体概述

二、HDFS 集群角色介绍 

2.1 整体概述 

2.2 主角色:namenode 

2.3 从角色:datanode 

2.4 主角色辅助角色: secondarynamenode 

三、HDFS 重要特性

3.1 主从架构 

3.2 分块存储机制

3.3 副本机制 

3.4 namespace 

3.5 元数据管理 

3.6 数据块存储 


 

一、HDFS 架构整体概述

        HDFS 是 Hadoop Distribute File System 的简称,意为:Hadoop 分布式文件系统。HDFS 是Hadoop 核心组件之一,作为大数据生态圈最底层的分布式存储服务而存在HDFS 解决的问题就是大数据如何存储它是横跨在多台计算机上的文件存储系统并且具有高度的容错能力。

        HDFS 集群遵循主从架构(master/slave通常包括一个主节点和多个从节点。在内部,文件分块存储每个块根据复制因子存储在不同的从节点计算机上形成备份。主节点存储和管理文件系统 namespace即有关文件块的信息,例如块位置,权限等;从节点存储文件的数据块。主从各司其职,互相配合,共同对外提供分布式文件存储服务。当然内部细节对于用户来说是透明的。

二、HDFS 集群角色介绍 

2.1 整体概述 

        HDFS 遵循主从架构。NameNode 是主节点,负责存储和管理文件系统元数据信息,包括 namespace 目录结构、文件块位置信息等;  DataNode 是从节点,负责存储文件具体的数据块。两种角色各司其职,共同协调完成分布式的文件存储服务。SecondaryNameNode 是主角色的辅助角色,帮助主角色进行元数据的合并。

2.2 主角色:namenode 

        NameNode 是 Hadoop 分布式文件系统的核心,架构中的主角色NameNode 维护和管理文件系统元数据,包括名称空间目录树结构、文件和块的位置信息、访问权限等信息。基于此,NameNode 成为了访问 HDFS 的唯一入口

        NameNode 内部通过内存磁盘文件两种方式管理元数据。其中磁盘上的元数据文件包括Fsimage 内存元数据镜像文件和 edits logJournal)编辑日志。在 Hadoop2 之前,NameNode 是单点故障。Hadoop 2 中引入的高可用性。Hadoop 群集体系结构允许在群集中以热备配置运行两个或多个 NameNode

2.3 从角色:datanode 

        DataNode 是 Hadoop HDFS 中的从角色,负责具体的数据块存储。DataNode 数量决定了HDFS 集群的整体数据存储能力。通过和 NameNode 配合维护着数据块。

2.4 主角色辅助角色: secondarynamenode 

        除了 DataNode 和 NameNode 之外,还有另一个守护进程,它称为 secondary NameNode。充当 NameNode 的辅助节点,但不能替代 NameNode

        当 NameNode 启动时,NameNode 合并 Fsimage 和 edits log 文件以还原当前文件系统名称空间。如果 edits log 过大不利于加载,Secondary NameNode 就辅助 NameNode NameNode 下载 Fsimage 文件和 edits log 文件进行合并

三、HDFS 重要特性

3.1 主从架构 

        HDFS 采用 master/slave 架构。一般一个 HDFS 集群是有一个 Namenode 和一定数目的 Datanode 组成Namenode 是 HDFS 主节点,Datanode 是 HDFS 从节点,两种角色各司其职,共同协调完成分布式的文件存储服务。

3.2 分块存储机制

        HDFS 中的文件在物理上是分块存储(block的,块的大小可以通过配置参数来规定,参数位于 hdfs-default.xml 中:dfs.blocksize。默认大小是 128M134217728)。

3.3 副本机制 

        文件的所有 block 都会有副本。每个文件的 block 大小(dfs.blocksize)和副本系数(dfs.replication)都是可配置的。副本系数可以在文件创建的时候指定,也可以在之后通过命令改变。

默认 dfs.replication 的值是 3,也就是会额外再复制 份,连同本身总共 份副本。

3.4 namespace 

        HDFS 支持传统的层次型文件组织结构。用户可以创建目录,然后将文件保存在这些目录里。文件系统名字空间的层次结构和大多数现有的文件系统类似:用户可以创建、删除、移动或重命名文件。

        Namenode 负责维护文件系统的 namespace 名称空间,任何对文件系统名称空间或属性的修改都将被 Namenode 记录下来。

        HDFS 会给客户端提供一个统一的抽象目录树,客户端通过路径来访问文件,形如:hdfs://namenode:port/dir-a/dir-b/dir-c/file.data

3.5 元数据管理 

在HDFS中,Namenode 管理的元数据具有两种类型:

  • 文件自身属性信息

  文件名称、权限,修改时间,文件大小,复制因子,数据块大小。

  • 文件块位置映射信息

  记录文件块和 DataNode 之间的映射信息,即哪个块位于哪个节点上。

 

3.6 数据块存储 

        文件的各个 block 的具体存储管理由 DataNode 节点承担。每一个 block 都可以在多个 DataNode 上存储。

下一篇文章:Hadoop 3.2.4 集群搭建详细图文教程_Stars.Sky的博客-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/98114.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

抖音视频删了怎么在电脑上找回来

【昨天整理电脑文件时,不小心将剪辑好的抖音作品误删了,但是回收站中找不回来了,这些视频是我花了很多心血制作的,如果没了真的十分可惜!希望大家能帮帮我,告诉我应该如何恢复这些文件。】 现在人们都喜欢…

【日记】文章更新计划

有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步,认准https://blog.zysicyj.top 更新日志 周更 【周一】 Kafka系列 【周二】 Nginx系列 【周三】 深入解读Redis系列 【周四】 设计模式系列 【周五】 深入理解MySQL系列 【周六】 微…

Java版本电子招标采购系统源码之传统采购模式面临的挑战

采购类型多 采购制度:采购金额、部门、品类的差异导致管理标准不同。 采购流程:从供应商管理、寻源操作到合同签订、订单执行,业务流程长,审批节点多,传统管理透明度低,联动性差。 供应商管理难 寻源&#…

华为OD机试 - TLV解析Ⅰ(Java 2023 B卷 100分)

目录 专栏导读一、题目描述二、输入描述三、输出描述四、Java算法源码五、效果展示1、输入2、输出3、说明 华为OD机试 2023B卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA)真题(A卷B卷)》。 …

Pycharm配置及使用Git教程

文章目录 1. 安装PyCharm2. 安装Git3. 在PyCharm中配置Git插件4. 连接远程Gtilab仓库5. Clone项目代码6. 将本地文件提交到远程仓库6.1 git add6.2 git commit6.3 git push6.4 git pull 平时习惯在windows下开发,但是我们又需要实时将远方仓库的代码clone到本地&…

【OpenCV实战】4.OpenCV 五种滤波使用实战(均值、盒状、中值、高斯、双边)

OpenCV 五种滤波使用实战(均值、盒状、中值、高斯、双边) 〇、Coding实战内容一、滤波、核和卷积1.1 滤波1.2 核 & 滤波器1.3 公式1.4 例子 二、图片边界填充实战2.1 解决问题2.2 相关OpenCV函数2.3 Code 三. 均值滤波实战3.1 理论3.2 Blur3.3 Code 四. 盒状滤波…

Unity资源无法下载 反复提示需同意Terms of Service和EULA 同意后无效的解决方案

前言 最近在玩Unity,跟着tutorial做点项目,但是在下载免费资源时,只有从网站上点“打开Unity”,才能在本地Unity Editor的Package Manager里找到这个资源(且点一下下面的刷新就没有了),并且点击…

HTML 播放器效果

效果图 实现代码 <!DOCTYPE HTML> <html><head><title>爱看动漫社区 | 首页 </title><link href"css/bootstrap.css" relstylesheet typetext/css /><!-- jQuery --><script src"js/jquery-1.11.0.min.js"…

羊城杯2023 部分wp

目录 D0nt pl4y g4m3!!!(php7.4.21源码泄露&pop链构造) Serpent(pickle反序列化&python提权) ArkNights(环境变量泄露) Ez_misc(win10sinpping_tools恢复) D0nt pl4y g4m3!!!(php7.4.21源码泄露&pop链构造) 访问/p0p.php 跳转到了游戏界面 应该是存在302跳转…

vue使用jsencrypt实现rsa前端加密

实现 RSA 加密 介绍 vue 完成 rsa 加密传输&#xff0c;jsencrypt 实现参数的前端加密 1 安装 jsencrypt npm install jsencrypt2 编写 jsencrypt.js 在 utils 文件夹中新建 jsencrypt.js 文件&#xff0c;内容如下&#xff1a;注意点&#xff1a;一般公钥都是后端生成好的&a…

爬虫逆向实战(二十八)--某税网第一步登录

一、数据接口分析 主页地址&#xff1a;某税网 1、抓包 通过抓包可以发现登录接口是factorAccountLogin 2、判断是否有加密参数 请求参数是否加密&#xff1f; 通过查看载荷模块可以发现有一个datagram 和 一个signature加密参数 请求头是否加密&#xff1f; 通过查看“标…

Apinto 网关 V0.14 版本发布,6 大插件更新!

大家好&#xff01; 距离上次更新已经过去一段时间了&#xff0c;这段日子里我们一直在酝酿新的功能&#xff0c;本次的迭代将给大家带来 6 大插件的更新~一起来看看有哪些变化吧&#xff01; 新特性 1. 新增 额外参数v2 插件&#xff0c;支持对转发参数进行加密、拼接等操作…