Hadoop3:HDFS的架构组成

一、官方文档

我这里学习的是Hadoop3.1.3版本,所以,查看的也是3.1.3版本的文档


Architecture模块最下面

二、HDFS架构介绍

HDFS架构的主要组成部分,是一下四个部分

1、NameNode(NN)

就是Master节点,它是集群管理者。

1、管理HDFS的名称空间

2、配置副本策略

3、管理数据块(Block)映射信息

4、处理客户端读写请求

2、DataNode

就是Slave节点,干活的。NameNode下达程序命令,DataNode执行具体命令。

1、存储实际的数据块

2、执行数据块的读写操作

3、Client

客户端,web页面也算是客户端,终端命令也是客户端来执行的。

1、切分文件,文件上传到HDFS集群的时候,Client将文件切分成一个个的Block,然后,进行上传

2、与NameNode交互,获取文件的位置信息

3、与DataNode交互,读写数据

4、Client提供一些命令来管理HDFS,比如NameNode的格式化命令

5、Client可以通过一些命令来访问HDFS,比如对HDFS的增删改查操作

4、Secondary NameNode(2NN)

它不是NameNode的热备,当NameNode节点挂掉的时候,它并不能马上替换NameNode并提供服务

实际场景中,一般用两个NameNode来实现高可用,2NN一般不用

1、辅助NameNode,分担工作量

2、在紧急情况下,可辅助恢复NameNode

三、思考题

1、NameNode中的Block大小如何设置?设置多大合适?怎么计算?

1、配置参数dfs.blocksize

在Hadoop2.x/3.x版本中默认大小是128M,1.x版本中是64M。

默认配置在hdfs-default.xml中,我们可以在hdfs-site.xml中自定义配置

xml 复制代码
<property>
  <name>dfs.blocksize</name>
  <value>134217728</value>
  <description>
      The default block size for new files, in bytes.
      You can use the following suffix (case insensitive):
      k(kilo), m(mega), g(giga), t(tera), p(peta), e(exa) to specify the size (such as 128k, 512m, 1g, etc.),
      Or provide complete size in bytes (such as 134217728 for 128 MB).
  </description>
</property>

2、Block大小计算逻辑

这个Block大小的确定,主要受寻址时间、传输时间、磁盘性能3个因素影响。

一般地
寻址时间为传输时间的1%时,则为最佳状态。

假设,寻址时间是10ms,则最佳传输时间是10ms/0.01=1000ms=1s

于是,根据这个传输时间及磁盘的读写速率,计算出Block的大小设置

一般性配置
机械硬盘,我们就设置为128MB
固态硬盘,我们就设置为256MB

3、设置太小或太大会有什么弊端?

设置太小

那么,HDFS里面会有很多的小文件,这样,会增加寻址时间,影响性能。

设置太大

会降低HDFS的并发能力,影响性能。

相关推荐
卷毛迷你猪1 小时前
快速实验篇(B07 )Session 会话化与序列
大数据·hive·hadoop
卷毛迷你猪2 小时前
快速实验篇(B08)搜索词分析实战
大数据·hive·hadoop
weixin_404551244 小时前
AI Native 架构建议:从零开始以 AI 为核心构建系统
人工智能·架构
梦帮科技4 小时前
推测解码(Speculative Decoding)与 Draft-Target 双核协同:接受率判据、树状验证与两倍吞吐无损加速
网络·人工智能·深度学习·神经网络·线性代数·矩阵·架构
努力努力再努力wz4 小时前
【CUDA 入门系列】核函数与线程模型:一文理清 Grid、Block、dim3、内置变量与全局索引
c++·架构
海宇数据4 小时前
零信任架构实战:基于海宇活体识别V步骤1构建自动化考前活体认证网关
运维·人工智能·架构·自动化
bullkingluo4 小时前
从零到一搭建企业级智能问答系统:Ch12 · 结构化输出与工具调用
人工智能·架构·llm
bullkingluo4 小时前
从零到一搭建企业级智能问答系统:Ch11 ·大模型调参与效果评测
人工智能·架构·llm
用户5708462574405 小时前
Function Calling 调用工具总出错?问题多半在这份 schema 里
架构
leo在掘金5 小时前
google/ax单日涨1379星:Agent编排运行时到底难在哪?
后端·架构