大数据-HDFS原理_journalnode服务

在这里插入图片描述
HDFS作为Hadoop的基础存储设施,实现一个高容错,分布式,可线性扩展的文件系统

HDFS基础系统架构

在这里插入图片描述

hdfs架构包含三个部分:

  • NameNode:
    用于存储、生成文件系统的元数据。运行一个实例。
  • DataNode:
    用于存储实际数据,将自己管理的数据块报送给NameNode,运行多个实例。
  • Client:
    支持业务访问HDFS从NameNode,DataNode获取的数据返回给业务。多个实例和业务一起运行。

HDFS写入数据流程
1.hdfs client向distribute file system发起create请求

2.NNcreate

3.hdfs client向FSdata output stream发起write指令

4.FSdata output stream 向DN写入数据

5.DN向FSdata output stream 返回一个校验包的指令:ack packet

6.写完之后关闭数据写入进程

7.NN收到写入完成的命令:complete
在这里插入图片描述

HDFS读数据流程
1.hdfs client向distribut system发起读的请求:open

2.distribute system向NN获取块的位置信息:get block location

3.向输出流系统(FSData outputsystem)发起读的指令:read

4.输出流系统(FSdata outputsystem)向数据节点DN发起读指令:read

5.输出流系统(FSdata outputsystem)向数据节点DN发起读指令:read

6.最后关闭读数据的进程
在这里插入图片描述

HDFS关键特性

在这里插入图片描述

  1. HA高可靠:
    Zookeeper:分布式协调。主要用于存储HA状态文件,主备信息。zookeeper集群至少3个节点及以上且为基数。
    NameNode:主备模式。主提供服务,备合并元数据和作为主的热备
    ZKFC(zookeeper failvor controller):用于控制NameNode节点的主备状态
    JN(journalnode):用于共享存储NameNode产生的editlog
    在这里插入图片描述
  2. 数据副本机制
    副本距离计算公式:
    同一台服务器距离为0
    distance(rack1/d1,rack1/d1)=0
    同一机架,不同服务器距离为2
    distance(rack1/d1,rack1/d3)=2
    不同机架的服务器距离为4
    distance(rack1/d1,rack2/d1)=4
    副本放置策略:
    第一个副本在本地机器
    第二个副本在远端机架节点
    第三个副本选择和第一个副本相同机架不同节点
    第四个及以上,随机选择副本存放位置
  3. 元数据持久化
    在这里插入图片描述
    元数据持久化过程:
    1.主NN每2分钟生成edit.new,并上传JN
    2.备NN从主NN下载fsimage,并从JN下载edit.log
    3.备NN将旧的日志和元数据合并,生成新元数据fsimage.kcpt
    4.备NN将元数据上传到主NN
    5.主NN对上传的元数据进行回滚
    6.NN每隔一小时或edit.log到64M,重复2-5步骤
  4. 元数据持久化健壮性机制
  5. HDFS联邦
    HDFS Federation使用多个独立的NN提供命名空间管理和块管理功能。它们之间是联邦关系,它们之间相互独立且不需相互协调;
    每个namespace使用一个block pool管理模块,每个block pool内部自治,不会与其他block pool交流。
    每个DN为每个block pool提供存储块,并向所在集群NN注册,周期性的发送心跳和块信息报告,同时处理来自NN的指令。
    一个NN失效不会影响其下的DN为其他NN的服务。
    用户价值
    扩展性:支持NN和Nspace水平扩展,后向兼容,结构简单
    性能:文件性能不再制约于单个NN的吞吐量,支持多个NN
    隔离性:按照应用程序和种类分离Nspace,进而增强隔离性。
    命名空间管理:
    命名空间支持对HDFS中的目录,文件和做块类似文件系统的创建、修改、删除、列表文件和目录等基本操作。Federation中存在多个命名空间,可以使用client side mount table对命名空间进行划分和管理。
    块管理:
    处理DN对NN的注册请求以及周期性的心跳信息
    处理来自块的报告信息,维护块的位置信息
    处理与块的相关操作:块的创建、删除和修改以及获取块的信息
    管理副本位置(replica placement)和块的复制以及块的删除
  6. 配置HDFS的数据存储策略

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数大数据工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年大数据全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上大数据开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注大数据获取)
img

节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**

如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注大数据获取)
[外链图片转存中…(img-2Q8HGQBu-1712887906909)]

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值