Hadoop HA
什么是 HA
HA是High Available缩写,是双机集群系统简称,指高可用性集群,是保证业务连续性的有效解决方案,一般有两个或两个以上的节点,且分为活动节点及备用节点。通常把正在执行业务的称为活动节点,而作为活动节点的一个备份的则称为备用节点。当活动节点出现问题,导致正在运行的业务(任务)不能正常运行时,备用节点此时就会侦测到,并立即接续活动节点来执行业务。从而实现业务的不中断或短暂中断。
hadoop HA机制介绍
hadoop2.0的HA 机制有两个namenode,一个是active namenode,状态是active;另外一个是standby namenode,状态是standby。两者的状态是可以切换的,但不能同时两个都是active状态,最多只有1个是active状态。只有active namenode提供对外的服务,standby namenode是不对外服务的。active namenode和standby namenode之间通过NFS或者JN(journalnode,QJM方式)来同步数据。
active namenode会把最近的操作记录写到本地的一个edits文件中(edits file),并传输到NFS或者JN中。standby namenode定期的检查,从NFS或者JN把最近的edit文件读过来,然后把edits文件和fsimage文件合并成一个新的fsimage,合并完成之后会通知active namenode获取这个新fsimage。active namenode获得这个新的fsimage文件之后,替换原来旧的fsimage文件。
这样,保持了active namenode和standby namenode的数据的实时同步,standby namenode可以随时切换成active namenode(譬如active namenode挂了)。而且还有一个原来hadoop1.0的secondarynamenode,checkpointnode,buckcupnode的功能:合并edits文件和fsimage文件,使fsimage文件一直保持更新。所以启动了hadoop2.0的HA机制之后,secondarynamenode,checkpointnode,buckcupnode这些都不需要了。
搭建 hadoop HA 集群
环境
linux: CentOS-7.5_x64
hadoop: hadoop-3.2.0
zookeeper: zookeeper-3.4.10
机器规划
主机名 | IP | 安装软件 | 运行进程 |
---|---|---|---|
node-1 | 192.168.91.11 | hadoop | NameNode,ResourceManager,DFSZKFailoverController |
node-2 | 192.168.91.12 | hadoop,zookeeper | NameNode,ResourceManager,QuorumPeerMain,DFSZKFailoverController |
node-3 | 192.168.91.13 | hadoop,zookeeper | QuorumPeerMain,DataNode,NodeManager,JournalNode |
node-4 | 192.168.91.14 | hadoop,zookeeper | QuorumPeerMain,DataNode,NodeManager,JournalNode |
前置准备
四台机器需要ssh免密登录,node-2,node-3,node-4需要安装zookeeper、java环境
集群搭建
1 | 复制代码 |
hdfs HA 配置
1 | 复制代码# 启动zookeeper集群 |
resourceManager HA 配置
1 | 复制代码# 在 RM1 启动 YARN (在 node-1 上执行) |
总结
搭建hadoop HA 过程中遇到了很多各种各样的问题上述步骤都是经过验证的如在安装过程中遇到问题可以留言,谢谢!
本文转载自: 掘金