namenode启动过程
- 开启安全模式 不能执行修改数据的操作
- 加载fsimage
- 逐个执行所有的Edits文件中的每一条操作将操作合并到fsimage 完成后生成一个空的edits文件
- 接受datanode发送来的信息和块信息
- 根据以上信息来确定文件系统状态
- 退出安全模式
退出安全模式的条件
- dfs.namenode.safemode.min.datanodes :最小可用的datanode数量 1
- dfs.namenode.safemode.threshold-pct :副本数达到最小要求的block占系统总block数的百分比 %99.999
- dfs.namenode.safemode.extension :稳定时间 30s
大量小文件问题
- 定义: 大量大小小于块大小的文件
- 网页,hive动态分区插入数据等
- 背景:每个文件的元数据对象约占150byte ,所以如果有一千万个小文件,每个文件占用一个block,则需要namenode大约需要2G 空间
- 影响 :占用资源 降低处理效率
- 解决方案:
1. 从源头减少小文件
2. 使用archive 打包
3. 使用其他储存方式,如Hbase,ES等
内存预估
文件元数对象约占