1、HDFS进程
NameNode:名称节点
DataNode:数据节点
SecondaryNameNode:第二名称节点
2、block(数据块)
默认大小:128M 参数:hdfs-site.xml dfs.blocksize
1个文件是130M 所占数据块2个 实际大小是128M+2M
3、副本数
参数:hdfs-site.xml dfs.replication
默认是3
1个文件130M的话 总共就占6个块 实际大小是3个128M +3个2M
问题1: 1个文件 是 260M ,请问存储多大?多少个块?
存储是260M,3个块。补充:如果副本数是3的话,存储780M,9个块
4、副本放置策略
第一副本:放在上传文件的DataNode上;如果是集群外提交则随机挑选一台磁盘不太慢、CPU不太忙的节点上。
第二副本:放置在与第一个副本不同的机架的节点上。
第三副本:放置在与第一、二个副本相同机架的不同节点上。
5、HDFS架构
NN:1台 (HA的话两台NN active NN standby,其中NN standby就取代了SNN)
DN:多台
NameNode:文件系统命名空间
1.文件名称
2.文件目录结构
3.文件的属性(创建时间、权限、副本数等)
4.文件对应哪些数据块-->数据块对应哪些分布在哪些DN节点上
收到report后实时更新列表:存储在内存
DateNode:存储数据块和 数据块的校验和
与NameNode通信:1.每隔3秒发送一次心跳
2.每隔10次心跳发送一次blockReport
存储在磁盘上
SecondaryNameNode:每一个小时做一次checkpoint, 并非 NameNode 的热备。当NameNode 挂掉的时候,它并不能马上替换 NameNode 并提供服务,只能恢复到上次checkpoint点之前的,如果上HA,就不存在SNN
1.辅助 NameNode,分担其工作量。
2.定期合并 fsimage和fsedits,并推送给NameNode
3.在紧急情况下,可辅助恢复 NameNode。
网友评论