HDFS架构
数据块
元数据节点与数据节点
辅助元数据节点
安全模式
负载均衡
垃圾回收
数据块
每个磁盘都有物理磁盘块,是读写文件的最小单位
文件系统的块一般由多个物理磁盘块(512B)组成,
系统使用fs和fsck来管理维护文件系统,直接针对文件系统块操作。
在hdfs上文件被划成多个块默认大小64m
元数据节点与数据节点
Hdfs集群有两种按Master/slave模式划分的节点:
Metadatanode
Datanode
辅助元数据节点
Secondary metadatanode
安全模式
元数据节点启动时,会将文件系统镜像载入内存,并执行编辑日志文件中的各种操作,然后开始监听RPC和HTTP请求,此时进入safe mode
各个数据节点发送心跳+块列表信息到元数据节点。当块列表信息足够时退出安全模式。
查看
Hdfs dfsadmin –safemode get
Hdfs dfsadmin –safemode enter #进入安全模式,系统处于只读
Hdfs dfsadmin –safemode leave
负载均衡
在hdfs中,ReplicationTargetChooser类是负责实现新分配的数据块寻找最优存储位置
Balance类实现动态负载调整,其实是将一个数据块从一个服务器搬到另一个服务器上。
Hdfs自带一个均衡器脚本,启动一个hadoop守护进程执行上述操作。
集群只能有一个均衡器,开启后一直运行,直到集群变得均衡,调整数据块的时候带宽默认1m/s,修改hdfs-site.xml中的dfs.balance.bandwidthPerSec属性指定
使用负载均衡命令:hadoop balance [threshold]
可选阈值默认10%,代表磁盘容量的百分比
垃圾回收
分布式中没有利用价值的数据块备份,就是垃圾
两类:
1.系统正常产生 某个文件被删除,被负载移动,原数据块成为垃圾
被塞进hdfs最近无效集 /user/${user}/.Trash/Current,可以检索这个目录恢复
2.系统异常产生 服务器死机,备份过期