HDFS
1. 如何理解 Hadoop
- 广义上 Hadoop 是指与 Hadoop 相关的大数据生态圈, 包括 hive, spark, hbase 等
- 狭义上 Hadoop 是指 Apache 的开源框架.有三个核心组件:
hdfs: 分布式文件存储系统
yarn: 分布式资源管理调度平台
MR: 分布式计算引擎
2. HDFS 整体架构
-
Client: 客户端
(1) 文件切分
(2) 与 NameNode 交互, 获取文件的位置信息
(3) 与 DataNode 交互, 读取或者写入数据
(4) Client 提供一些命令来管理 HDFS -
NameNode: Master
(1) 管理 HDFS 的名称空间,
(2) 管理数据块的映射信息
(3) 配置副本策略(默认是 3)
(4) 处理客户端读写请求 -
DataNode: Slave
(1) 存储实际的数据块
(2) 执行数据块的读写操作 -
SecondaryNameNode:
(1) 辅助 NameNode, 分担其工作量
(2) 定期合并 Fsimage 和 Edits , 并推送给 NameNode
(3) 在紧急情况下, 可以辅助回复 NameNode