2020/12/10 sunhaiqi@bonc.com.cn
文章目录
HDFS的基本架构
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yjUe9veH-1614602170119)(file:///C:/Users/19701/AppData/Local/Temp/msohtmlclip1/01/clip_image002.jpg)]
这种架构主要由四个部分组成,分别为 HDFS Client、 NameNode、 DataNode 和 SecondaryNameNode。下面我们分别介绍这四个组成部分。
1.1、Client
客户端
(1)文件切分。文件上传 HDFS 的时候, Client 将文件切分成一个一个的 Block,然后进行存储。
(2)与 NameNode 交互,获取文件的位置信息。
(3)与 DataNode 交互,读取或者写入数据。
(4) Client 提供一些命令来管理 HDFS,比如启动或者关闭 HDFS。
(5) Client 可以通过一些命令来访问 HDFS。
1.2、NameNode
就是master,它是一个主管、管理者。
(1)管理 HDFS 的名称空间。
(2)管理数据块(Block)映射信息
(3)配置副本策略
(4)处理客户端读写请求。
1.3、DataNode
就是 Slave。 NameNode 下达命令, DataNode 执行实际的操作。
(1)存储实际的数据块。
(2)执行数据块的读/写操作。
1.4、Secondary NameNode
并非 NameNode 的热备。当 NameNode 挂掉的时候,它并不能马上替换 NameNode 并提供服务。
(1)辅助 NameNode,分担其工作量。
(2)定期合并 Fsimage 和 Edits,并推送给 NameNode。
(3)在紧急情况下,可辅助恢复 NameNode。
HDFS的工作原理
2.1、基本概念
HDFS是一个文件系统,用于存储和管理文件,通过统一的命名空间(类似于本地文件系统的目录树)。HDFS是分布式的系统,服务器集群中各个节点都有自己的角色和职责。理解HDFS,需要注意以下几个概念:
- HDFS中的文件在物理上是分块存储(block),块的大小可以通过配置参数(
dfs.blocksiz