功能详解,永洪BI高可用配置设计方案来了

作者: 永洪BI  来源: 永洪科技  时间:2020年07月08日

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

 

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

 

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

 

在讲解Naming双活之前呢,还是需要先学习一下ZooKeeper的相关知识。

 

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

 

启动Naming双活,需要安装部署ZooKeeper Server。

 

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

 

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

 

ZooKeeper Client连接到ZooKeeper Server,通过心跳保持连接。

 

那么Naming双活的工作原理是如何进行的呢?

 

1、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处于待命状态。

 

2、Naming Node宕机时

 

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

 

如果要将之前的Naming Node再重新加入到集市,将作为Backup Node加入集市;并修改global_bi.properties中的dc.node.naming为此时Naming Node的ip+offset。

 

3、Backup Node宕机时

 

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

 

了解了zookeeper的工作原理之后,我们开始学习如何安装并启动Naming双活的功能。

 

1、 规划ZooKeeper集群环境

 

MPP集市节点的规划:几台Naming Node,哪些作为备份Naming Node,集市中的节点都有哪些,怎么搭建,需要提前规划,然后将所有节点和ZooKeeper Server连接。

 

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

 

ZooKeeper集群节点和MPP集市节点可以部署到同一台机器,安装包里已经包含ZooKeeper内容,所以,如果一台机器既想装MPP集市节点,又想装ZooKeeper Server,只需同时勾上集市节点类型和ZooKeeper服务就可以了。

 

2、安装、配置和启动

 

  • 所有集群节点需要启用命名节点的双活机制。

 

在安装过程中,每个节点需要勾上“使用命名节点的双活机制”,并配置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

 

  • 启动集市其它节点

 

此步骤与上述内容一致

 

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

 

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

 

功能详解,永洪BI高可用配置设计方案来了!

 

本机(Windows,IP:192.168.1.238)安装4个集市节点,CR、M、N、N_Backup(N节点的备份)。

 

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

 

2、安装过程

 

安装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双活启动顺序

 

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

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

3、再启动其他节点的Tomcat,没有先后顺序。

 

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

 

双击 zkServer.cmd启动

 

功能详解,永洪BI高可用配置设计方案来了!

 

  • 启动Tomcat

 

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

 

双击startup.bat

 

功能详解,永洪BI高可用配置设计方案来了!

 

➤小结:永洪高可用使用的技术是基于Zookeeper集群实现的,使用时要确保Zookeeper节点之间的通信,而且尽量采用奇数个节点的设计。以上就是我们对于Naming双活的介绍。

 

 

 

 

版权声明

 

永洪BI
更敏捷、更快速、更强大

申请试用
Copyright © 2012-2020 北京永洪商智科技有限公司
京ICP备12050607号 京公网安备110110802011451号