HadoopHA(高可用集群)2.7.2 原理及搭建

一、介绍:

1、所谓HA(High Available),即高可用(7*24小时不中断服务)

2、实现高可用的关键是消除单点故障,即HDFS的nameNode和YARN的resourceManager,所以HA机制就是HDFS的HA和YARN的HA。

  • 由于一个HDFS集群由一个NameNode节点和多个DataNode节点组成,一旦NameNode节点宕机,那么HDFS将不能进行文件的上传与下载。

  • 由于一个Yarn集群由一个ResourceManager节点和多个NodeManager节点组成,一旦ResourceManager节点宕机,那么YARN集群将不能进行资源的调度。

3、HDFS-HA工作要点:

3.1. 双nameNode来消除单点故障
3.2. 元数据管理方式需要改变

  • 内存中各自保存一份元数据;
  • Edits日志只有Active状态的NameNode节点可以做写操作;两个NameNode都可以读取Edits;
  • 共享的Edits放在一个共享存储中管理(qjournal和NFS两个主流实现);

3.3.需要一个状态管理功能模块

  • 实现了一个zkfailover,常驻在每一个namenode所在的节点,每一个zkfailover负责监控自己所在NameNode节点,

  • 利用zooKeeper进行状态标识,当需要进行状态切换时,由zkfailover来负责切换,切换时需要防止brain
    splitnaolie脑裂现象的发生。

3.4.必须保证两个NameNode之间能够ssh无密码登录

3.5.隔离(Fence),即同一时刻仅仅有一个NameNode对外提供服务

4.HDFS-HA故障转移机制图解:
在这里插入图片描述

5、YARN-HA工作机制图解:
在这里插入图片描述

二、HA集群配置

1、在完全分布式集群的基础下

2、配置zooKeeper集群

(1)将zooKeeper压缩包上传到到 /opt/software/目录下

(2)解压Zookeeper安装包到/opt/module/目录下

[jh@Hadoop03 software]$ tar -zxvf zookeeper-3.4.10.tar.gz -C /opt/module/

(3)重命名/opt/module/zookeeper-3.4.10/conf 目录下的zoo_sample.cfg为zoo.cfg

[jh@Hadoop03 conf]$ mv zoo_sample.cfg zoo.cfg

(4)配置zoo.cfg文件

修改存储节点数据
	dataDir=/opt/module/zookeeper-3.4.10/zkData

增加zooKeeper集群配置
	#######################cluster##########################
	server.1=Hadoop03:2888:3888
	server.2=Hadoop04:2888:3888
  	server.3=Hadoop05:2888:3888

(5)在/opt/module/zookeeper-3.4.10/ 目录下创建zkData目录

[jh@Hadoop03 zookeeper-3.4.14]$ mkdir zkData

(6)在/opt/module/zookeeper-3.4.10/zkData目录下创建一个myid的文件

 [jh@Hadoop03 zkData]$ touch myid

(7)编辑myid文件,在里面添加服务器ID,比如添加1

(8)分发配置好的zookeeper到其他机器上,并修改分发过去的服务器的myid文件,修改服务器ID

(9)分别启动zookeeper

[jh@Hadoop03 zookeeper-3.4.14]$ bin/zkServer.sh start

(10)查看状态

[jh@Hadoop03 zookeeper-3.4.14]$ bin/zkServer.sh status

3、配置HDFS-HA集群

(1)在/opt/module/目录下创建一个ha文件夹

(2)将/opt/module/下的 hadoop-2.7.2拷贝到 /opt/module/ha目录下

(3)配置hadoop-env.sh

export JAVA_HOME=/opt/module/jdk1.8.0_144

(4)配置core-site.xml

 1 <configuration>
 2 <!-- 把两个NameNode 的地址组装成一个集群mycluster -->
 3         <property>
 4             <name>fs.defaultFS</name>
 5             <value>hdfs://mycluster</value>
 6         </property>
 7 
 8         <!-- 指定hadoop运行时产生文件的存储目录 -->
 9         <property>
10             
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用三台服务器搭建一个完全分布式Hadoop集群,你需要按照以下步骤进行操作: 1. 设置主机名和IP:在每台服务器上设置唯一的主机名和IP地址。 2. 配置主机的映射:在每台服务器上配置/etc/hosts文件,将每台服务器的主机名和IP地址进行映射。 3. SSH免密登录:在每台服务器上生成SSH密钥对,并将公钥复制到其他服务器上,以实现服务器之间的免密登录。 4. 关闭防火墙:在每台服务器上关闭防火墙,以确保Hadoop集群的正常通信。 5. 关闭SELinux:在每台服务器上禁用SELinux,以避免与Hadoop的正常运行产生冲突。 6. 安装JDK:在每台服务器上安装JDK,并设置JAVA_HOME环境变量。 7. 设置时间同步服务:在每台服务器上安装并配置NTP时间同步服务,以确保集群中所有服务器的时间同步。 8. 下载和安装Hadoop:在每台服务器上下载Hadoop的二进制文件,并解压到指定目录。你可以使用wget命令下载Hadoop的tar.gz文件,然后使用tar命令解压。 9. 配置Hadoop环境变量:在每台服务器上编辑hadoop-env.sh文件,设置Hadoop的环境变量,如JAVA_HOME、HADOOP_HOME等。 10. 配置Hadoop集群:在每台服务器上编辑core-site.xml、hdfs-site.xml和yarn-site.xml等配置文件,设置Hadoop集群的相关参数,如文件系统地址、副本数量、资源管理器地址等。 11. 启动Hadoop集群:在一台服务器上启动NameNode和ResourceManager,然后在其他服务器上启动DataNode和NodeManager。 请注意,以上步骤仅为概括,并不包含具体的配置细节。在实际操作中,你需要根据你的服务器环境和需求进行相应的配置。详细的操作步骤和配置参数可以参考Hadoop官方文档或其他教程资源。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [hadoop2.7.2分布式集群搭建(三台)](https://blog.csdn.net/PeiBoos/article/details/125914812)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [3台机器配置hadoop集群_Hadoop+Hbase 分布式集群架构](https://blog.csdn.net/wanghengwhwh/article/details/128567974)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值