基于大数据集群hadoop高可用平台的实现(附件)【字数:7608】

基于大数据集群的Hadoop高可用平台,需要在完整的大数据集群上实现,其分为HDFS高可用和YARN高可用,可供管理人员使用Hive与Spark进行数据的分析,使用Spark进行数据的清洗。其中HDFS高可用就是同时启动2个Namenode,让其中一个处于工作(Active)状态,让另一个处于准备(Standby)状态,这样在Active Namenode所在服务器收到攻击时,可以使得Standby Namenode来快速的接管工作,以免数据的丢失;而YARN高可用的状态信息是直接写到ZooKeeper上,并依赖ZooKeeper来激活主选和备选。本文所做的主要工作包括大数据基础集群的搭建,各项服务的配置,数据在大数据集群上的传输,Hadoop高可用平台的实现以及通过模拟数据集测试平台的各项性能和模拟攻击测试平台的故障恢复能力。
目录
一、引言 1
(一)项目背景 1
(二)项目目的 1
二、Hadoop HA高可用平台的原理 1
(一)HAOOP HA概念 1
(二)HDFS高可用 2
(三)YARN高可用 2
(四)分布式协调服务ZooKeeper 3
(五)HA集群规划 3
三、安装部署 4
(一)前期准备 4
1. 虚拟机配置 4
2. 服务安装包版本 4
3. 集群规划 5
(二)基础服务部署 5
1. Java环境配置 5
2. MySQL的安装 5
3. Hadoop的部署 5
4. Hive的安装 7
5. ZooKeeper的安装 8
6. HBase的安装 9
7. Sqoop的安装 9
8. Spark的安装 10
(三)服务启动以及测试 10
1.查看profile文件 10
2.启动集群 11
3.启动Hive 12
4.启动ZooKeeper 13
5.启动HBase 13
6.启动Sqoop 13 *好棒文|www.hbsrm.com +Q: @351916072@ 

7.启动Spark 13
四、Hadoop 高可用平台的实现 14
(一)HDFS高可用的配置 14
1.集群命名和节点指定 14
2.通信配置模块的实现 14
3.故障自动转移模块的实现 14
4.本地文件存储目录以及ZooKeeper集群配置 14
(二)ZooKeeper中初始化高可用状态 15
1.清理所有环境设置: 15
2.初始化高可用在ZooKeeper中的状态 15
(三)Hadoop高可用启动 15
1.主节点格式化HDFS 15
2.备用节点同步数据 15
3.查看web页面 15
(四)YARN高可用的配置 16
1.集群命名和映射端口设定 16
2.RM状态配置 17
(五)YARN 高可用的实现 17
1. 在master节点单独启动的ResourceManager 17
2.在slave1节点单独启动ResourceManager 17
3.测试YARN高可用并查看web页面 17
五、Hadoop 高可用平台的测试 18
(一)NAMENODE性能测试 18
1.文件上传测试 18
2.测试高可用系统对NameNode元数据操作的影响 18
(二)系统整体性能测试 19
1.测试高可用系统对于HDFS文件系统读写性能的影响 19
(三)故障恢复以及时间测试 20
1.故障转移 20
2.故障转移测试 20
3.故障时间测试 21
(四)NAMENODE内存占用测试 22
总结 24
参考文献 25
致谢 26
一、引言
(一)项目背景
随着大数据时代的来临,分布式文件系统因其极高的可靠性和性能以及可扩展性越来越受到人们的青睐。对于如今各社交网络、电子商务平台和音乐平台等娱乐平台融入人们的日常生活,而其日渐增长的注册用户以及庞大的数据量便需要依靠分布式文件系统来进行处理。作为大数据平台Hadoop平台的存储核心,HDFS逐渐成为了一个用来进行数据处理的标准,但整个集群只有一个Namenode,若这一个Namenode损坏,则整个Hadoop集群将不可以使用,此时Hadoop的高可用性显得尤为重要。在Hadoop HA中使用Standby Namenode作为Active Namenode的备用节点。在Active Namenode对于数据进行处理时,Standby Manage需要有与主Namenode相同的配置并进行同步备份。
(二)项目目的
随着数据量快速的增长,以HDFS为代表的分布式文件系统采用元数据和文件数据分离管理的模式被命名为元数据节点[1],例如HDFS中的NameNode。在只有一个Namenode的Hadoop集群中,如果这一个Namenode发生故障,则集群无法使用,只有通过重启集群才可以恢复。所以单Namenode的架构集群存在一些潜在问题[2],需要引入Hadoop HA。在同一集群中运行“主/备”两个Namenode进程就是典型的高可用集群。两个Namenode有着相同的配置,在任何时候,一个处于活动状态,一个处于待机状态,而着二者保持着相同的数据状态,可以在节点宕机或者时集群收到攻击时,将所有数据快速转移到另一个Namenode中。而最重要的就是始终保持只有一个Namenode处于活动中[3],否则两节点之间会发生冲突,导致数据丢失,在主/备切换时,由于切换不彻底,导致Slave和客户端误认为有两个活动的Namenode,使整个集群处于混乱之中。

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/wlw/12.html

好棒文