Hadoop——HDFS Federation、File System Snapshots、集中式缓存管理、Distributed Copy、YARN HA简单讲解

HDFS Federation

假设实际的环境中有一个Hadoop集群存储这多个不同的业务的数据(日志信息,消费行为信息,客户行为等),并且这些业务的数据的元数据信息由同一个namespace中的namenode进行管理。

再程序运行的过程中,如果一个业务程序出错,如出现死循环,此时可能会使得namenode停止运行。如果出现这种情况,因为三个业务的元数据信息由同一个namenode进行管理的。所以其他两个业务也将停止工作。
所以出于这种情况的考虑,就出现了以下的设计:

Hadoop——HDFS Federation、File System Snapshots、集中式缓存管理、Distributed Copy、YARN HA简单讲解_第1张图片
将所有的数据都存放在同一datanode集群中,而管理元数据信息的namenod可根据业务不同而分开,不同的namenode管理不同业务的元数据信息,这养,各个业务模块间的namenode不相互应影响,从而提高了集群的可用性。

File System Snapshots

HDFS快照是一个只读的基于时间点文件系统的拷贝。快照可以是整个文件系统的也可以是一部分。常用作数据的备份,防止用户错误和容灾快照功能。

快照的基本操作:

//设置目录为可快照
bin/hdfs dfsadmin -allowSnapshot<path>

//取消目录的可快照
bin/hdfs dfsadmin -disallowSnapshot <path>

//生成快照
bin/hdfs dfs -createSnapshot <path> [<SnapshotName>]

//删除快照
bin/hdfs dfs -deleteSnapshot <path> [<SnapshotName>]

//列出所有可快照目录
bin/hdfs lsSnapshottableDir

//比较快照之间的差异
bin/hdfs snapshotDiff <path> <fromSnapshot> <toSnapshot>

集中式缓存管理

HDFS从2.3.0开始支持缓存机制,允许用户将一部分目录或者文件缓存在HDFS中,NameNode会统治拥有对应块的DataNodes将其缓存在内存中。

优势:

(1)防止被频繁使用的数据从内存中清除。

(2)因为DataNode的缓存由NameNode来管理,application在做任务安排时可以查询这个缓存列表,使用缓存的块的副本提高读性能。

(3)当块被DataNode缓存之后,客户端可以使用一个新的,高效的,zero-copy的读API,因为缓存中的数据已经被计算过checksum,当使用新的API时,客户端基本上是0开销。

(4)可以提高集群的内存使用率,当使用操作系统缓存时,对一个块的重复读会导致所有的副本都会被放到缓冲区当中,当使用集中式缓存时,用户可以指定n个副本中的m个才会被缓存,可以节约n-m的内存。

使用场景:

(1)对频繁使用的文件非常有用。

(2)有助于提高混合型作业的SLA性能,把高优先级的数据缓存起来可以确保他不会与低优先级的数据竞争磁盘IO。

关于集中式缓存管理如何使用,可查看官方文档

Distributed Copy

在实际生产的环境中,可能存在测试集群,生产集群或者多个不同版本的集群。现在要将测试集群中的数据拷贝到生产集群中,或者在不同版本的集群中进行数据的拷贝。此时就会使用到Distributed Copy。

具体如何使用查看官方文档

如果时相同的版本的集群之间的拷贝直接使用官方文档中给出的方式即可,如果时不同版本之间的拷贝需要使用HFTP协议(底层实现为MapReduce)进行拷贝,集体如下:

hadoop distcp -i hftp://sourceFS:50070/src hdfs://destFS:8020/dest

ResourceManager High Availability

前面讲过有关HDFS的HA配置,在实际生产环境对于YARN也会进行HA配置,对于YARN的配置可直接查看——>ResourceManager High Availability

实际中,我们可能会出现将某个ResourceManger或者NodeManager所在主机重启,重启之后我们还希望之前的ResourceManger或者NodeManager能够继续管理之前所管理的资源,此时在重启之前需要对他们管理的资源进行存储,以便重启之后进行读取,此时会使用到ResourceManger Restart和NodeManager Restart,此功能会配合YARN HA进行使用。

你可能感兴趣的:(hadoop)