Hadoop HA集群搭建

本文介绍了Hadoop HA集群的必要性,详细步骤包括:理解Hadoop HA机制、集群规划、服务器准备、安装Zookeeper、配置及安装Hadoop HA集群、初始化操作和验证高可用性。通过设置两个NameNodes和JournalNode,实现NameNode的热备,确保集群的稳定性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Hadoop HA集群搭建

 

一:在安装搭建之前简单了解一下 hadoop ha

为什么会有hadoop HA机制呢?

HA:High Available,高可用 在Hadoop 2.0之前,在HDFS 集群中NameNode 存在单点故障

对于只有一个 NameNode 的集群,如果 NameNode 机器出现故障(比如宕机或是软件、硬件 升级),那么整个集群将无法使用,直到 NameNode 重新启动

如何解决呢?

 HDFS的HA功能通过配置Active/Standby两个NameNodes实现在集群中对 NameNode 的 热备来解决上述问题。如果出现故障,如机器崩溃或机器需要升级维护,这时可通过此种方 式将 NameNode 很快的切换到另外一台机器。

 在一个典型的 HDFS(HA) 集群中,使用两台单独的机器配置为 NameNodes 。在任何时间点, 确保 NameNodes 中只有一个处于 Active 状态,其他的处在 Standby 状态。其中 ActiveNameNode 负责集群中的所有客户端操作,StandbyNameNode 仅仅充当备机,保证一 旦 ActiveNameNode 出现问题能够快速切换。

 为了能够实时同步 Active 和 Standby 两个 NameNode 的元数据信息(实际上 editlog),需提 供一个共享存储系统,可以是 NFS、QJM(Quorum Journal Manager)或者 Zookeeper,Active Namenode 将数据写入共享存储系统,而 Standby 监听该系统,一旦发现有新数据写入,则 读取这些数据,并加载到自己内存中,以保证自己内存状态与 Active NameNode 保持基本一 致,如此这般,在紧急情况下 standby 便可快速切为 active namenode。为了实现快速切换, Standby 节点获取集群的最新文件块信息也是很有必要的。为了实现这一目标,DataNode 需 要配置 NameNodes 的位置,并同时给他们发送文件块信息以及心跳检测。

 

 二:Hadoop  HA集群安装搭建

1.首先第一步毋庸置疑的是需要做hadoop集群规划

描述:hadoop HA 集群的搭建依赖于 zookeeper,所以选取三台当做 zookeeper 集群 我总共准备了三台主机,分别是 hadoop01,hadoop02,hadoop03 ,其中 hadoop01 和 hadoop02 做 namenode 的主备切换,hadoop02 和 hadoop03 做 resourcemanager 的主备切换(这个依据自己集群节点的数量来规划,可自由设置)

三台机器的节点分布
  hadoop01 hadoop02 hadoop03
namenode  
datanode
resourcemanager  
nodemanager
zookeeper
journalnode
zkfc  

2.集群服务器准备(这个环节比较简单,在这里就不详细概述了)

1、 修改主机名 vi  /etc/sysconfig/network (ps:我三台服务器都修改了,分别为hadoop01,hadoop02,hadoop03)

2、 修改 IP 地址

3、 添加主机名和 IP 映射

4、 添加普通用户 hadoop 用户并配置 sudoer 权限

5、 设置系统启动级别

6、 同步服务器时间

7、 关闭防火墙/关闭 Selinux

8、 配置 SSH 免密登录

9、 安装 JDK

3.安装zookeeper集群

在此略过,可参考我的另外一篇博客:Zookeeper的集群搭建与配置(二)https://blog.youkuaiyun.com/qq_36508766/article/details/81336588

4.安装并配置hadoop ha集群

(ps:如果之前安装过普通的分布式hadoop集群,需要删除相关数据文件,修改配置,建议全部卸载重新安装)

1.上传安装包hadoop-2.7.6.tar.gz

2.解压安装包到对应的安装目录    tar -zxvf hadoop-2.7.6.tar.gz  -C  apps/

3.修改配置文件 (修改相关配置key的作用都已在注释)

(PS:我的配置文件路径   /home/hadoop/apps/hadoop-2.7.6/etc/hadoop&nbs

Hadoop High Availability (HA) 集群是为了提高Apache Hadoop集群的可靠性和可用性而设计的一种架构。它通过将关键服务(如NameNode和JobTracker)冗余部署,并在主节点故障时自动切换到备用节点,保证了数据处理任务的持续进行。下面是Hadoop HA集群搭建的基本步骤: 1. **安装并配置Hadoop**: - 安装Hadoop到两个或更多节点上,每个节点都是一个独立的Hadoop集群实例。 - 配置`core-site.xml`和`hdfs-site.xml`文件,设置集群的名称节点(NameNode)和数据节点(DataNodes)。 2. **启用HDFS HA**: - 在`hdfs-site.xml`中,设置`ha.fencing.methods`指定节点之间的心跳检测方法,例如SSH或JMX。 - 创建一个HDFS HA配置文件,如`core-site.xml.template`,并在实际集群中创建对应的配置文件。 3. **配置高可用NameNode**: - 设置`ha.zookeeper.quorum`为ZooKeeper集群地址,用于选举新的Active NameNode。 - 配置`dfs.nameservice.id`定义NameNode服务名。 - 在`hdfs-site.xml`中启用`dfs.ha.namenodes.<nameservice-id>`属性。 4. **设置Secondary NameNode**: - 在`hdfs-site.xml`中启用`dfs.ha.automatic-failover.enabled`,并配置`dfs.ha.automatic-failover.retry-interval`和`dfs.ha.automatic-failover.timeout`。 5. **配置ZooKeeper**: - 如果没有使用ZooKeeper,需要配置一个或多个ZooKeeper服务器作为NameNode服务选举的协调器。 6. **启动HDFS服务**: - 启动HDFS集群,包括两个NameNode(一个为主,一个为备)和足够的DataNodes。 7. **验证集群状态**: 使用`hdfs haadmin`命令检查集群状态、启动/关闭心跳检测和手动触发Failover。 8. **配置YARN HA**: 对于YARN资源管理器,类似地,需要配置ResourceManager HA(RMHA),并设置HA模式。 9. **测试和监控**: 确保服务可用,执行负载测试,并设置监控工具(如Hadoop Metrics2或Ganglia)来监控性能和异常。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值