四、HDFS技术细节

一、Block
HDFS在存储数据的时候是将数据进行切块,分别存储到不同的节点上。
在Hadoop1.0版本中,每一个block默认是64M大小,在Hadoop2.0版本中,每一个block默认是128M大小
400M - 4 - 其中前3块,每一块是128M,第4块是16M
100M - 1 - 文件块按照实际大小100M存储

好处:
1、利于大文件的存储
2、方便传输
3、便于计算

二、NameNode

1、负责datanode的管理以及存储元数据。
2、元数据存在内存(快速查询)和磁盘(崩溃恢复)中。
3、HDFS的结构中,namenode存在单点问题。
4、fsimage - 存储元数据。但是注意fsimage中的元数据和内存中并不一致,也就意味着fsimage中的数据并不是实时数据。
5、edits - 存储HDFS的操作。
6、fstime - 记录上一次的更新时间。

触发更新的条件:
1、文件大小 — 根据配置文件设置的edits log大小 fs.checkpoint.size 默认64MB
2、定时更新 — 根据配置文件设置的时间间隔:fs.checkpoint.period 默认3600秒
重启hdfs的时候也会触发更新 — 在合并过程中,HDFS不对外提供写服务,只提供读服务 — 重启hdfs的时候进行的更新阶段 — 安全模式

三、HDFS的安全模式
安全模式是HDFS的一种工作状态。处于安全模式的状态下,只向客户端提供文件的只读视图,不接受对命名空间的修改;同时NameNode节点也不会进行数据块的复制或者删除,如:复本的数量小于正常水平。

1、只能读不能写。
2、检查复本数量以及总量 --- 导致伪分布式环境下,复本数量必须设置为1。
如果重启hdfs,处于安全模式,等待一会儿,检查完数据都没有问题,自动退出安全模式。
在学习期间,重启hdfs之后如果长期处于安全模式中,说明数据有损坏:
	1、强制退出安全模式:hadoop dfsadmin -safemode leave 
	2、关闭HDFS
	3、删除dfs、nm-local-dir、logs
	4、重新格式化:hadoop namenode -format

四、SecondaryNameNode不是namenode的热备份,而是进行fsimage和edits的合并

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值