数据分析如何用好高可用?Naming双活必须掌握!

在以前的文章中,咱们有作过永洪对数据的加工和处理的方法和介绍,此次咱们来学习一下永洪产品高可用的配置设计方案。node

在使用永洪产品过程当中,可能会遇到服务器断电、网络质量差、服务器宕机等突发问题,结果使集群中的节点失效,从而影响到永洪BI的正常使用,致使没法正常的查看、分析数据,为了解决如此问题,永洪也完善并支持服务的高可用场景。tomcat

永洪如何实现产品的高可用呢,答案是Naming双活,也就是部署两个N节点,经过ZooKeeper实现集群的高可用性。对于不了解永洪集群环境节点类型的小伙伴能够查看以前的讲解(一文读懂大数据量组合数据集在永洪的应用实例)。服务器

➤在讲解Naming双活以前呢,仍是须要先学习一下ZooKeeper的相关知识。网络

首先讲解一下什么是 ZooKeeper Server:ide

启动Naming双活,须要安装部署ZooKeeper Server。学习

ZooKeeper的部署分为单机模式和集群模式,集群模式是指在多个节点上启动ZooKeeper Server。通常考虑在三台机器上部署ZooKeeper Server。大数据

除了Server 这个角色之外,还有这样的一类角色ZooKeeper Client:在这里,Client指的是MPP集市中的节点。设计

ZooKeeper Client链接到ZooKeeper Server,经过心跳保持链接。3d

➤那么Naming双活的工做原理是如何进行的呢?日志

一、ZooKeeper Client链接到ZooKeeper Server

MPP集市启动时,首先Naming Node链接到ZooKeeper Server,并初始化领导者选举,而后Backup Node和其它Nodes(Map/Reduce/Client)链接到ZooKeeper Server。若是有多个Backup Node,则有First Backup Node,First Backup Node会和Naming Node同步meta文件,其余Backup Nodes处于待命状态。

二、Naming Node宕机时

First Backup Node会成为新的Naming Node(该过程须要半分钟至几分钟完成),其余节点将被通知更换新的Naming Node,对配置文件进行自动修改。

若是要将以前的Naming Node再从新加入到集市,将做为Backup Node加入集市;并修改global_bi.properties中的dc.node.naming为此时Naming Node的ip+offset。

三、Backup Node宕机时

若是是First Backup Node宕机,则剩余的Backup Nodes选举出新的First Backup Node,继续和Naming Node同步。

➤了解了zookeeper的工做原理以后,咱们开始学习如何安装并启动Naming双活的功能。

一、 规划ZooKeeper集群环境

MPP集市节点的规划:几台Naming Node,哪些做为备份Naming Node,集市中的节点都有哪些,怎么搭建,须要提早规划,而后将全部节点和ZooKeeper Server链接。

ZooKeeper集群节点规划:ZooKeeper Server装在哪些机器上,须要提早规划好。

ZooKeeper集群节点和MPP集市节点能够部署到同一台机器,安装包里已经包含ZooKeeper内容,因此,若是一台机器既想装MPP集市节点,又想装ZooKeeper Server,只需同时勾上集市节点类型和ZooKeeper服务就能够了。

二、安装、配置和启动

全部集群节点须要启用命名节点的双活机制。
在安装过程当中,每一个节点须要勾上“使用命名节点的双活机制”,并配置ZooKeeper的链接地址,形式为:IP1:Host1,IP2:Host2,IP3:Host3。装了几个ZooKeeper Server(通常为基数个),就将几个的IP:Host写上。

IP:ZooKeeper Server机器IP。

Host:ZooKeeper Server的端口号。

数据分析遇到突发问题别慌!永洪BI高可用配置设计方案详解来了
安装完毕后,全部节点的global_bi.properties都会加上:

dc.use.backup=true

zk.conn.hosts=#hosts

Naming Node和Backup Naming Node
若是安装Naming Node,则不须要选择“备份节点”;

若是安装Backup Naming Node,则须要选择“命名节点安装版”和“备份节点”,以下图,勾选了“备份节点”,会在bi.properties中加入属性:dc.backup=false。

数据分析遇到突发问题别慌!永洪BI高可用配置设计方案详解来了
安装ZooKeeper Server
在安装界面,经过选择“在此节点启用ZooKeeper服务”来安装ZooKeeper Server。

数据分析遇到突发问题别慌!永洪BI高可用配置设计方案详解来了
点击“下一步“,出现“设置ZooKeeper配置信息”界面来设置ZooKeeper Server的信息。

数据分析遇到突发问题别慌!永洪BI高可用配置设计方案详解来了
ZooKeeper 端口: 正在安装的这个ZooKeeper Server的端口号。用于ZooKeeper Client(C/N/M/R节点)和ZooKeeper Server之间通信。
Data目录:存储快照文件Snapshot 的目录。
日志目录:ZooKeeper日志输出目录。
集群节点配置:用于ZooKeeper Server之间的通讯。装了几个ZooKeeper Server(通常为基数个),就将几个的IP:Host1:Host2写上。
IP:ZooKeeper Server机器IP。
Host1:通讯端口。
Host2:选举通讯端口。
集群节点编号:指定正在安装的ZooKeeper Server是ZooKeeper集群节点配置中的第几个节点。
以上属性会存到如下两个文件里:

zookeeper\conf\zoo.cfg

zookeeper\data\myid

启动ZooKeeper Server
在安装的ZooKeeper Server的安装目录下,进入zookeeper\bin目录

Linux:运行zkServer.sh

Windows:运行zkServer.cmd

若是是ZooKeeper集群模式,在启动以后须要等待一小段时间(半分钟之内),让ZooKeeper集群内部完成领导者选举。

启动Naming Node
Linux:tomcat/bin/startup.sh

Windows: tomcat/bin/startup.bat

启动集市其它节点
此步骤与上述内容一致

➤接着咱们拿一个实际案例进行实践。

一、规划一个启用了Naming双活的集市环境

数据分析遇到突发问题别慌!永洪BI高可用配置设计方案详解来了
本机(Windows,IP:192.168.1.238)安装4个集市节点,CR、M、N、N_Backup(N节点的备份)。

其中CR、M和N节点上安装ZooKeeper Server。

二、安装过程

安装CR:

选择数据集市->MPP集市->选择“客户端节点安装版”和“Reduce节点安装版”。

数据分析遇到突发问题别慌!永洪BI高可用配置设计方案详解来了
勾选“使用命名节点的双活机制”;

输入ZooKeeper链接地址:

192.168.1.238:2181,192.168.1.238:2182,192.168.1.238:2183

安装Zookeeper Server:

数据分析遇到突发问题别慌!永洪BI高可用配置设计方案详解来了
数据分析遇到突发问题别慌!永洪BI高可用配置设计方案详解来了
注:ZooKeeper端口:2181,集群节点编号:1

安装N:

选择数据集市->MPP集市->选择“命名节点安装版”,不勾选“备份节点”。

数据分析遇到突发问题别慌!永洪BI高可用配置设计方案详解来了
勾选“使用命名节点的双活机制”:

输入ZooKeeper链接地址,同CR。

安装Zookeeper Server,同CR,ZooKeeper端口:2182,集群节点编号:2。

在这里插入图片描述
数据分析遇到突发问题别慌!永洪BI高可用配置设计方案详解来了
数据分析遇到突发问题别慌!永洪BI高可用配置设计方案详解来了
安装N(备份):

选择数据集市->MPP集市->选择“命名节点安装版”,勾选“备份节点”。

数据分析遇到突发问题别慌!永洪BI高可用配置设计方案详解来了
勾选“使用命名节点的双活机制”:

输入ZooKeeper链接地址,同CR。

不安装Zookeeper Server。

数据分析遇到突发问题别慌!永洪BI高可用配置设计方案详解来了
安装M:

选择数据集市->MPP集市->选择“Map节点安装版”。

数据分析遇到突发问题别慌!永洪BI高可用配置设计方案详解来了
勾选“使用命名节点的双活机制”:

输入ZooKeeper链接地址,同CR。

安装ZooKeeper Server,同CR,ZooKeeper端口:2183,集群节点编号:3。

数据分析遇到突发问题别慌!永洪BI高可用配置设计方案详解来了
数据分析遇到突发问题别慌!永洪BI高可用配置设计方案详解来了
修改集群配置
在同一台机器上启动多个节点须要配置端口偏移,因此,在启动以前,在CR、N(备份)和M的bi.properties里分别配置:

dc.port.offset=1

dc.port.offset=2

dc.port.offset=3

启动ZooKeeper Server
Naming双活启动顺序

一、先启动Zookeeper,没有前后顺序;

二、当Zookeeper集群稳定后,先启动主N的Tomcat;

三、再启动其余节点的Tomcat,没有前后顺序。

在永洪安装路径下找到Zookeeper/bin目录

双击 zkServer.cmd启动

数据分析遇到突发问题别慌!永洪BI高可用配置设计方案详解来了
启动Tomcat
在永洪安装路径找到tomcat/bin目录

双击startup.bat

数据分析遇到突发问题别慌!永洪BI高可用配置设计方案详解来了➤小结:永洪高可用使用的技术是基于Zookeeper集群实现的,使用时要确保Zookeeper节点之间的通讯,并且尽可能采用奇数个节点的设计。以上就是咱们对于Naming双活的介绍。

相关文章
相关标签/搜索