【大数据】HDFS

文章目录

    • @[toc]
      • HDFS 1.0
        • NameNode
          • 维护文件系统命名空间
          • 存储元数据
          • 解决NameNode单点问题
        • SecondaryNameNode
        • 机架感知
        • 数据完整性校验
          • 校验和
          • 数据块检测程序DataBlockScanner
        • HDFS写流程
        • HDFS读流程
        • HDFS与MapReduce本地模式
        • Block大小
      • HDFS 2.0
        • NameNode HA
        • NameNode Federation
        • HDFS Snapshot
        • 缓存
        • ACL
        • Block大小

因上努力

个人主页:丷从心·

系列专栏:大数据

果上随缘


HDFS 1.0

NameNode
维护文件系统命名空间
存储元数据
  • 元数据存储在内存中
  • 维护文件名 → B l o c k \rightarrow Block Block B l o c k → D a t a N o d e Block \rightarrow DataNode BlockDataNode的映射关系
  • 持久化元数据的文件是 f s i m a g e fsimage fsimage
  • 所有对元数据的操作都保存在内存中并被持久化到文件 e d i t   l o g s edit \ logs edit logs
  • e d i t   l o g s edit \ logs edit logs文件和 f s i m a g e fsimage fsimage文件会被 S e c o n d a r y N a m e N o d e SecondaryNameNode SecondaryNameNode周期性地合并
解决NameNode单点问题
  • H a d o o p Hadoop Hadoop元数据写入到本地文件系统的同时再实时同步到一个远程挂载的网络文件系统( N F S NFS NFS)中
  • N a m e N o d e NameNode NameNode发生故障时 S e c o n d a r y N a m e N o d e SecondaryNameNode SecondaryNameNode会通过自己合并的命名空间镜像 f s i m a g e fsimage fsimage副本来恢复 N a m e N o d e NameNode NameNode,但是 S e c o n d a r y N a m e N o d e SecondaryNameNode SecondaryNameNode保存的状态总是滞后于 N a m e N o d e NameNode NameNode,难免会丢失部分数据
SecondaryNameNode

1

  • N a m e N o d e NameNode NameNode在下次重启时会使用新的 f s i m a g e fsimage fsimage文件,从而减少重启时间
机架感知
  • 机架感知是 B l o c k Block Block副本放置策略
  • 第一个副本放在客户端节点,如果客户端是集群外的一台机器,就随机选择节点,但是会避免挑选太满或者太忙的节点
  • 第二个副本放在不同机架的节点
  • 第三个副本放在与第二个副本同机架但是不同节点上
数据完整性校验
校验和
  • 在第一次进入系统时计算数据的校验和,在通道传输后,如果新生成的校验和不完全匹配原始的校验和,那么数据就会被认为是损坏的
数据块检测程序DataBlockScanner
  • D a t a N o d e DataNode DataNode节点上开启一个后台线程,来定期验证存储在它上的所有块,防止物理介质出现损减而造成的数据损坏
  • 一旦发现数据块损坏, D a t a N o d e DataNode DataNode会接收到 N a m e N o d e NameNode NameNode发送的 B l o c k Block Block修复指令
HDFS写流程

2

  • F S D a t a   O u t p u t S t r e a m FSData \ OutputStream FSData OutputStream将原始数据切分成数据块并写入一个队列
  • 数据弱一致性:第一个副本写入后就立刻返回 A C K ACK ACK
HDFS读流程

3

HDFS与MapReduce本地模式
  • 数据不移动,代码逻辑移动
Block大小
  • H D F S   1.0 HDFS \ 1.0 HDFS 1.0默认 B l o c k Block Block大小为 64 M B 64 MB 64MB

HDFS 2.0

NameNode HA

4

  • 运行 A c t i v e   N a m e N o d e Active \ NameNode Active NameNode S t a n d b y   N a m e N o d e Standby \ NameNode Standby NameNode的机器需要相同的硬件配置
  • J o u r n a l N o d e JournalNode JournalNode本质是共享的网络文件系统,由奇数个节点组成,用于存储 e d i t   l o g s edit \ logs edit logs
  • F a i l o v e r C o n t r o l l e r FailoverController FailoverController本质是 Z o o K e e p e r ZooKeeper ZooKeeper的客户端,监控 N a m e N o d e NameNode NameNode状态信息,实现故障转移
NameNode Federation

5

  • N a m e N o d e   F e d e r a t i o n NameNode \ Federation NameNode Federation本质是命名空间的分离,解决了 N a m e N o d e NameNode NameNode内存资源不足的问题
  • 一个 N a m e s p a c e Namespace Namespace对应一个 B l o c k   P o o l Block \ Pool Block Pool,即一个 N a m e s p a c e Namespace Namespace下的所有 B l o c k Block Block的集合
  • 通过视图文件系统 V i e w F S ViewFS ViewFS管理全局 N a m e s p a c e Namespace Namespace
HDFS Snapshot
  • S n a p s h o t Snapshot Snapshot常用来作为数据备份
  • S n a p s h o t Snapshot Snapshot只记录了文件系统元数据信息,并没有进行数据的拷贝
缓存
  • H D F S   2.0 HDFS \ 2.0 HDFS 2.0支持集中式缓存,可以明确指定要缓存数据
  • 支持对非递归目录和文件的缓存
ACL
  • H D F S   2.0 HDFS \ 2.0 HDFS 2.0支持 A C L ACL ACL管理
Block大小
  • H D F S   2.0 HDFS \ 2.0 HDFS 2.0默认 B l o c k Block Block大小为 128 M B 128 MB 128MB

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C++笔试强训day19

目录 1.小易的升级之路 2.礼物的最大价值 3.对称之美 1.小易的升级之路 链接 模拟就行&#xff0c;唯一可能是难点得就是gcd&#xff08;最大公约数&#xff09; #include <iostream> using namespace std; #define int long long const int N 1e5 10; int arr[N];…

【DIY小记】深圳万象天地餐馆探店点评

第一次在技术博客里面写生活日记&#xff0c;也算是破了个小天荒。个人以为&#xff0c;博客是个人生活思考的载体&#xff0c;而技术只占生活的一部分&#xff0c;那么博客里为什么一定要限制只能够写技术内容&#xff0c;不能写点其它生活上的东西呢&#xff1f;思来想去&…

科研诚信与学术规范 2024年春 期末考试答案

章节答案&#xff1a;https://www.bilibili.com/video/BV1JZ42177F8/ 是这个课&#xff0c;网上的大多数答案都是以前的&#xff0c;跟这门课没啥关系. 期末考试的答案长这样&#xff0c;题库有80个题&#xff0c;考试一般是50个题。 期末考试答案&#xff1a;&#xff08;不…

C++动态内存区域划分、new、delete关键字

目录 一、C/C中程序的内存区域划分 为什么会存在内存区域划分&#xff1f; 二、new关键字 1、内置类型的new/delete使用方法&#xff1a; 2、new和delete的本质 一、C/C中程序的内存区域划分 为什么会存在内存区域划分&#xff1f; 因为不同数据有不同的存储需求&#xff0…

6818Linux内核--Bootloader应用分析

Bootloader应用分析 一个嵌入式 Linux 系统从软件的角度看通常可以分为四个层次&#xff1a; 引导加载程序。包括固化在固件( firmware )中的 boot 代码(可选)&#xff0c;和 Boot Loader 两大部分。 Linux 内核。特定于嵌入式板子的定制内核以及内核的启动参数。 文件系统…

Polygon市值机器人

随着区块链技术的蓬勃发展和数字货币市场的日益繁荣&#xff0c;投资者们对于如何精准把握市场动态、实现资产稳健增长的需求愈发迫切。在这个背景下&#xff08;市值管理飞//机//aishutuyu&#xff09;&#xff0c;Polygon市值机器人应运而生&#xff0c;作为一款基于Polygon公…

TriCore:Interrupt

今天简单总结下 TriCore 的中断路由模块。 名词缩写 缩写全称说明IRInterrupt Router SRService Request 包括&#xff1a; 1. External Resource 2. Internal Resource 3.SW&#xff08;Software&#xff09; SPService Privoder 包括&#xff1a; 1. CPU 2. DMA SRNServic…

【5分钟学会一个知识点】01.Elasticsearch基本操作-增删改查

目录 【5分钟学会一个知识点-探索现代搜索与分析引擎的魅力】01.Elasticsearch基本操作-增删改查1.基本操作1.1索引操作1.2文档操作1.3查询1.4修改数据1.5查询1.5.1条件查询1.5.1.1遍历所有的索引1.5.1.2查询某个索引1.5.1.3条件查询1&#xff1a;使用GET url传参数1.5.1.4条件…

proteus数模转换器DAC0832的应用

proteus proteus&#xff0c;即EDA工具软件。Proteus软件是英国Lab Center Electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能&#xff0c;还能仿真单片机及外围器件。它是比较好的仿真单片机及外围器件的工具。虽然国内推广刚起步&#xff0c;但已受到…

油泼辣子在食品类别可以申请成商标不!

前阵韩国人在美国申请“chili crunch”油泼辣子作为商标&#xff0c;还准备禁止华人餐馆使用投诉侵权并索赔&#xff0c;普推知产老杨在USPTO上面检索发现&#xff0c;这个人申请的主要是30类方便食品的调味品&#xff0c;商标分类是全球通用的。 商标名称不能申请本类所属的通…

C++的数据结构(三):栈

栈&#xff08;Stack&#xff09;是一种后进先出&#xff08;LIFO, Last In First Out&#xff09;的数据结构&#xff0c;它只允许在一端&#xff08;称为栈顶&#xff09;进行插入和删除操作。栈的这种特性使得它在解决函数调用、括号匹配、表达式求值等问题时具有天然的优势…

Linux下多线程相关概念

thread 1.什么是线程1.1 线程优缺点1.2 线程异常1.3 线程用途 2. 进程和线程区别3. 线程控制3.1 POSIX线程库3.2 pthread_create()3.3 线程ID3.4 线程ID地址空间布局pthread_self() 3.5 线程终止pthread_exit函数pthread_cancle函数 3.6 线程等待3.7 分离线程__thread修饰全局变…

【安全每日一讲】加强数据安全保护 共享数字化时代便利

前言 数据安全是数据治理的核心内容之一&#xff0c;随着数据治理的深入&#xff0c;我不断的碰到数据安全中的金发姑娘问题&#xff08;指安全和效率的平衡&#xff09;。 DAMA说&#xff0c;降低风险和促进业务增长是数据安全活动的主要驱动因素&#xff0c;数据安全是一种资…

Django项目之电商购物商城 -- 修改/删除收货地址/设置默认地址

Django项目之电商购物商城 – 修改/删除收货地址/设置默认地址 修改和删除收货地址依旧实在user应用下进行 , 其思路和新增收货地址非常相似 依旧是更具前端的数据来写 在这里修改和删除地址的URL是相同的 , 所以我们只要设置一个模型类就可以实现这两个功能 一 . 修改地址…

apk反编译修改教程系列-----反编译apk 去除软件强制更新的八种方式步骤解析【十七】

安卓有的apk 软件会不断更新。但有些用户需要旧版的有些功能或者新版功能增减原因等等。需要不更新继续使用。这类问题有的可以简单修改版本号来跳过更新。或者有的软件可以忽略。但对于某些无法跳过更新界面等等的apk。就需要深度反编译来去除软件的强制更新。 通过课程可以了…

Obsidian/Typora设置图床

在obsidian中默认图片是保存在本地的&#xff0c;但是在要导出文档上传到网上时&#xff0c;由于图片保存在本地&#xff0c;会出现无法加载图片的问题。 这里引用的一段话&#xff1a; 这里使用picgo-core和gitee实现图床功能&#xff0c; 参考1&#xff1a; Ubuntu下PicGO配…

【Docker】Ubuntu下Docker的基本使用方法与常用命令总结

【Docker】docker的基本使用方法 镜像image与容器container的关系基本命令- 查看 Docker 版本- 拉取镜像- 查看系统中的镜像- 删除某个镜像- 列出当前 Docker 主机上的所有容器&#xff0c;包括正在运行的、暂停的、已停止的&#xff0c;以及未运行的容器- 列出当前 Docker 主机…

【LeetCode算法】242. 有效的字母异位词

提示&#xff1a;此文章仅作为本人记录日常学习使用&#xff0c;若有存在错误或者不严谨得地方欢迎指正。 文章目录 一、题目二、思路三、解决方案 一、题目 给定两个字符串 s 和 t &#xff0c;编写一个函数来判断 t 是否是 s 的字母异位词。 注意&#xff1a;若 s 和 t 中每…

德克萨斯大学奥斯汀分校自然语言处理硕士课程汉化版(第一周) - 自然语言处理介绍和线性分类

自然语言处理介绍和线性分类 1. 自然语言处理介绍2. 线性二分类3. 情感分析和基础特征提取 3.1. 情感分析3.2. 特征提取3.3. 文本预处理 4. 学习的基础-梯度下降算法5. 感知机6. 逻辑回归7. 情感分析8. 感知机和逻辑回归 1. 自然语言处理介绍 自然语言处理的目标是什么 能够解…