第一张解剖图:
- HDFS默认将大文件分割成了一个个小块block,默认大小64M。
- 把block标好号(key-value)放到HDFS,并加载到内存。
- 如果小文件过多,key就很多,内存压力就会大
名词解说:
NameNode:
- 最高领导人master,管理block映射
- 处理客户端读写
- 配置副本的策略
- 管理HDFS的命名空间
Secondary NameNode:
- master替身,master的冷备份(存储了master的一些信息,如果master有问题,可以保存数据,但不能代替master工作)
- 每一个小时读取NameNode上的fsimage和fsedits,进行合并后发送给NameNode。
DataNode:
- slave节点,负责存储数据块
- 执行数据块查询
其他:
- fsimage:元数据镜像文件
- edits:元数据操作日志
- NodeName内存中=fsimage+edits
- NameNode启动需要加载2种数据
- filesystem image fsimage文件系统镜像
- 所有的目录树和文件元数据
- 对文件的每一个操作都放到editslog中