HDFS
2016年4月17日 HDFS
@(2016年4月17日--Hadoop)[hadoop, hdfs]
目录
namenode
- 元数据(文件名,权限,时间)
- fsimage(内存) 二进制
- edits_log 二进制 修改的信息先放在edits_log
- 重启时合并fsimage 和edits_log
- hdfs有很多修改(元数据-->edites_log)很大下一次重启namenode,合并变得很慢
secondary namenode
- 周期性的合并fsimage和edits,辅助namenode
- 通常安装到另外一台物理服务器
合并的条件
- 周期性:1个小时
- edits:大约64M
配置 secondary namenode
hdds-site.xml
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop01:50090</value>
</property>
<!--重启服务-->
namenode的特性
- HDFS的中心服务器
- 客户端访问HDFS的入口
- 响应给客户端的数据直接由datanode输出
- 读取文件时namenode尽量让用户先读取最近的副本
- 周期性的从集群中的每个datanode接收心跳新号
namenode启动过程
namenode格式化
- 创建fsimage文件,存储fsimage信息
- 创建edits文件
datanode
- 存储数据
- 以块为单位进行存储(128M)
- 存储块数据的校验码
- 一次写入(一旦写入,流关闭后不允许修改),多次读取
- 周期性(1小时)报告块的状态
- 周期性(3秒)向namenode报告心跳,nn10分钟没有接受,提出集群
- 在线加入/卸载服务器
safemode安全模式
安全模式HDFS变成只读(readonly)
启动safemode的情况
- 在namenode启动过程中,datanode向namenode注册
- dfs.namenode.safemode.threshold-pct 默认值0.999f 好的块/总的块<0.999f
HDFS特性
- 存储大,动态扩展
- 运行在普通的商用服务器(容错性高)
- 副本数,保证数据安全
- 一次写入,多次读取
- 不适合修改比较频繁的 业务
- 适合存储大文件,不适合存储太多小文件
浙公网安备 33010602011771号