hdfs组成架构
HDFS组成架构
- NameNode(nn): 就是Master, 它是一个主管,管理者
- 管理 HDFS 的名称空间(namespace)
- 配置副本策略
- 管理数据块(block)映射信息
- 处理客户端读写请求
- DataNode():就是 Slave.NameNode 下达命令,DataNode执行操作
- 存储实际数据
- 执行数据块 读/写 操作‘
- Client
- 文件切分,文件上传到 HDFS 的时候,客户端将文件切分成一个一个的 Block
- 和 NameNode 交互 获取文件位置信息
- 和 DataNode交互,读取或者写入数据
- 提供HDFS 管理命令
- Secondary NameNode: 并非 NameNode 的热备。当NameNode 挂掉的时候,,并不能马上替换 NameNode并提供服务
- 辅助NameNode ,分担工作量,比如定期合并 Fsimage和 Edits,并推送给NameNode
- 紧急情况下,可以辅助恢复 NameNode
HDFS文件块大小
HDFS 文件在物理上是分块存储(block),块的大小可以通过配置参数(dfs.blocksize)来规定,默认为 128M
HDFS块不能设置的太大也不能太小
- 如果设置太小,会增加寻址时间,程序一直在找块的开始位置
- 如果设置的太大,从磁盘传输数据的时间会明显大于定位这个块开始位置所需的时间,导致程序处理数据会变慢
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!