Hadoop HDFS-(第一天)
一、HDFS概念
默认的访问端口:50070
RPC通信端口:9000
Hadoop分布式文件系统:将文件切分成多个block块,分散存储在不同的服务器上,并通过网络进行连接,构成的一个文件存储系统。
分布式文件系统架构采用的是主从架构(主:Master 从:Slave)
namenode备份:secondarynamenode
主要的模块包括:
- HDFS(hadoop distributed file system)文件存储namenode ,datanode , secondarynamenode
- MapReduce 数据计算 map和reduce
- YARN 任务调度 resourcemanager和nodemanager
二、block块
HDFS 2.X 一个block块大小为64M
HDFS 3.X 一个block块大小为128M
分散存储在集群的不同数据节点datanode上。
block块备份采用的是replication副本的方式
replication默认是3份
/hadoop/etc/dfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
</configuration>
机架存储策略
考虑到带宽和安全性,采用机架感知技术Rack。分担承载,提高容错性能。
三、元数据-NameNode
元数据metadata由namenode存储在内存中,大小为150Bytes。
- 管理节点 :负责管理文件系统和命名空间
- 元数据:包括文件系统树、所有文件和目录和每个文件的块列表、所在datanode等,以命名空间文件Fsimage(元数据镜像文件)和日志文件edits log(变更更改操作记录)
分布式文件系统适合存放大文件不适合存放小文件。
四、数据节点-DateNode
datanode存放block块,以及block元数据,包括数据块的长度、校验和和时间戳等。
五、SecondaryNameNode
SecondaryNameNode对NameNode的元数据进行恢复,保证文件系统的高可用。
CPU和内存相同
六、HDFS架构图
七、心跳机制
八、负载均衡
datanode之间出现数据存储大小不均衡时,比如磁盘损坏或者新增加,需要做负载均衡。
start-balancer.sh -t 5% //datanode存储使用率/集群总存储使用率>5%就触发负载均衡
九、HDFS读流程
十、HDFS写流程
十一、Hadoop HA高可用与联邦
Hadoop HA高可用架构
联邦
对于一个集群来说,内存有限,存储文件有限,成为限制系统横向扩展的瓶颈。
NameNode的内存采用内存池存放元数据metadata,存放块池block pools。
扩展性 -> 内存
吞吐量 -> 多个NN
隔离性 -> client访问不同的NN
十二、存储小文件处理方式
HAR文件方案
Sequence Files方案