Hadoop 2.0 HA 3节点高可用集群搭建

本文档详细介绍了如何搭建Hadoop 2.0的高可用(HA)3节点集群,包括NameNode的Active/Standby切换、QJM元数据同步、Zookeeper用于故障转移,以及YARN的ResourceManager高可用配置。通过这个过程,确保了在NameNode或ResourceManager故障时,集群仍能正常运行。
摘要由CSDN通过智能技术生成

概览

1.集群规划
2.准备
3.修改Hadoop配置文件
4.复制内容
5.启动集群
6.查看jps
7.测试

1.集群规划

HDFS HA背景

HDFS集群中NameNode 存在单点故障(SPOF)。对于只有一个NameNode的集群,如果NameNode机器出现意外情况,将导致整个集群无法使用,直到NameNode 重新启动。

影响HDFS集群不可用主要包括以下两种情况:一是NameNode机器宕机,将导致集群不可用,重启NameNode之后才可使用;二是计划内的NameNode节点软件或硬件升级,导致集群在短时间内不可用。

为了解决上述问题,Hadoop给出了HDFS的高可用HA方案:HDFS通常由两个NameNode组成,一个处于active状态,另一个处于standby状态。Active NameNode对外提供服务,比如处理来自客户端的RPC请求,而Standby NameNode则不对外提供服务,仅同步Active NameNode的状态,以便能够在它失败时快速进行切换。

规划
之后的服务启动和配置文件都是安装此配置来,master上是namenode,slave2上是yarn,而slave1则是namenode和yarn的备用

主机名 IP Namenode DataNode Yarn Zookeeper JournalNode
master 192.168.134.154
slave1 192.168.134.155
slave2 192.168.134.156

需要说明以下几点:

HDFS HA通常由两个NameNode组成,一个处于Active状态,另一个处于Standby状态。Active NameNode对外提供服务,而Standby NameNode则不对外提供服务,仅同步Active NameNode的状态,以便能够在它失败时快速进行切换。

Hadoop 2.0官方提供了两种HDFS HA的解决方案,一种是NFS,另一种是QJM。这里我们使用简单的QJM。在该方案中,主备NameNode之间通过一组JournalNode同步元数据信息,一条数据只要成功写入多数JournalNode即认为写入成功。通常配置奇数个JournalNode,这里还配置了一个Zookeeper集群,用于ZKFC故障转移,当Active NameNode挂掉了,会自动切换Standby NameNode为Active状态。

YARN的ResourceManager也存在单点故障问题,这个问题在hadoop-2.4.1得到了解决:有两个ResourceManager,一个是Active,一个是Standby,状态由zookeeper进行协调。

YARN框架下的MapReduce可以开启JobHistoryServer来记录历史任务信息,否则只能查看当前正在执行的任务信息。

Zookeeper的作用是负责HDFS中NameNode主备节点的选举,和YARN框架下ResourceManaer主备节点的选举。

2.准备

软件:
1.jdk1.8.141
2.hadoop2.7.3(jdk1.8版本编译)
3.Zookeeper3.4.12
4.Xshell5 + Xftp5

1.设置静态ip,参考Hadoop集群单机版的设置静态ip,然后使用Xshell工具连接(官网有免费版本)
2.配置jdk,hosts文件
jdk安装参考Hadoop集群单机版的jdk安装

[root@master bin]#  vi /etc/hosts

#127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4   

#::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
# 上面的给注释掉或者删除
192.168.134.154 master
192.168.134.155 slave1
192.168.134.156 slave2

3.配置ssh免密登录,参考Hadoop集群搭建的ssh免密登录

4.配置Zookeeper,参考Zookeeper的安装

3.修改Hadoop配置文件

如果你之前搭建过hadoop集群,只需要将其中的配置文件做修改即可

1.在/usr下创建个hadoop文件夹,作为hadoop安装(压缩)包的存放路径和解压路径

#进入usr文件夹下
cd /usr
#创建hadoop文件夹
mkdir hadoop
#进入hadoop文件夹
cd hadoop

利用Xftp工具将文件传输到虚拟机中
在这里插入图片描述
解压后进入到 hadoop的解压路径/etc/hadoop文件夹下

cd  /usr/hadoop/hadoop-2.7.3/etc/hadoop/

3.1.core-site.xml

vim core-site.xml

在其中的configuration标签中添加以下内容

<!-- 指定hdfs的nameservice为ns --> 
<property> 
<name>fs.defaultFS</name> 
<value>hdfs://ns</value> 
</property> 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值