一种es集群双机房高可用部署方法技术

技术编号:28720694 阅读:14 留言:0更新日期:2021-06-06 03:42
本发明专利技术公开了一种es集群双机房高可用部署方法,属于计算机业务应用研发领域,解决现有技术中的集群部署无法保证集群数据安全性、应用可用性及应用服务不中断的问题。本发明专利技术将Es集群安装部署在主机房A和备机房B,安装部署好后进行同一分片的副本分别分布在主机房A和备机房B、且分片和分片的副本位于不同区域的参数设置;将Nginx集群安装部署在主机房A和备机房B,并进行路由配置;基于配置好的主机房A和备机房B实现高可用逻辑调用。本发明专利技术用于实现es集群双机房部署。现es集群双机房部署。现es集群双机房部署。

【技术实现步骤摘要】
一种es集群双机房高可用部署方法


[0001]一种es集群双机房高可用部署方法,用于实现es集群双机房部署,属于计算机业务应用研发领域。

技术介绍

[0002]在日常的支付业务中,受监管、风险、成本等多维度因素影响,银行系统业务数据、日志数据需较长时间存储,且业务规则多变,使得统计分析数据变的更加困难,业务需要对历史数据进行统计分析,来开展创新业务。系统运维人员需要分析系统日志数据,来判定系统运维情况;上述分析多采用es集群来实现。
[0003]但现有的es集群大多数部署在同一机房,可满足一般要求的高可用性及数据安全,但面对金融行业苛刻的安全性、跨机房异地灾备的特性,传统的es集群部署方式则不能很好的满足。根据es集群本身特性,跨机房部署时在写入和查询数据效率会降低,无法应对高并发,低时延的检索需求。即部署在同机房,当机房数据发生丢失后(例如机房发生自然灾害),数据不能恢复,服务将会中断。若简单的将集群部署在异地双机房,集群数据写入和和查询效率将降低。
[0004]CN202010099024.2公开了一种双机房的容灾方法及装置,但存在如下技术问题:未体现数据备份完整性,即A机房数据全部丢失,数据是否能够恢复,即在一个机房完全损坏的情况下无法保证集群数据安全性、应用可用性及应用服务不中断;检测到某节点服务器出现故障,若对应主节点加入集群异常,高可用值得商榷,而无法使应用高可用得到保障。

技术实现思路

[0005]针对上述研究的问题,本专利技术的目的在于提供一种es集群双机房高可用部署方法,解决现有技术中的集群部署无法保证集群数据安全性、应用可用性及应用服务不中断的问题。
[0006]为了达到上述目的,本专利技术采用如下技术方案:一种es集群双机房高可用部署方法,包括:步骤1:将Es集群安装部署在主机房A和备机房B,安装部署好后进行同一分片的副本分别分布在主机房A和备机房B、且分片和分片的副本位于不同区域的参数设置;步骤2:将Nginx集群安装部署在主机房A和备机房B,并进行路由配置;步骤3:基于配置好的主机房A和备机房B实现高可用逻辑调用。
[0007]进一步,所述步骤1的具体步骤为:步骤1.1:在主机房A安装部署6台es节点,6台es节点为Anode1

Anode6;步骤1.2:在备机房B安装部署3台es节点, 3台es节点为Bnode1

Bnode3;步骤1.3:设置mater节点和数据节点:修改Anode1、Anode4和Bnode1节点的配置,即将Anode1、Anode4和Bnode1节点中的参数node.master设置为true,修改后,Anode1、
Anode4和Bnode1节点为master节点;修改Anode2、Anode3、Anode5、Anode6、Bnode2和Bnode3节点的配置,即将Anode2、Anode3、Anode5、Anode6、Bnode2和Bnode3节点中的参数node.data设置为true,修改后,Anode2、Anode3、Anode5、Anode6、Bnode2和Bnode3节点为数据节点;步骤1.4:设置Es集群按区域分配参数,即设置决定集群是否按区域分配的参数cluster.routing.allocation.awareness.attributes=zone,设置决定Es集群强制划分区域的参数cluster.routing.allocation.awareness.force.zone.values=z1,z2,z3,以使一个区域只会保存同一shard的一个副本,且shard和副本位于不同区域,保证副本不会跨区域allocation,其中,shard表示Es集群中用于存储数据的分片,每个分片有两个副本,allocation表示节点迁移;步骤1.5:设置Es集群按区域分配参数后,为各节点划分编号:即设置各节点中的node.attr.zone参数,将Anode1

Anode3节点的中的node.attr.zone设置为z1、Anode4

Anode6节点的中的node.attr.zone设置为z2、Bnode1

Bnode3节点的中的node.attr.zone设置为z3,其中,node.attr.zone表示区域划分编号参数,以将不同节点设置为相同的区域编号,实现将对应节点归属于同一区域。
[0008]步骤1.6:划分编号后,设置Es集群至少需要两个master节点才能对外提供服务,并调整Es集群发现其他节点的超时时间;步骤1.7:若主机房A和备机房B两机房间存在防火墙或者网络策略导致tcp在一定时间内中断,将主机房A和备机房B中各节点的参数network.tcp.keep.alive设置为true,通过此配置定时激活tcp通道,定时激活tcp的时间通过主机房A和备机房B中各节点的参数transport_schedule设置,其中,network.tcp.keep.alive表示定时激活tcp通道的参数,transport_schedule表示定时激活tcp的时间的参数。
[0009]进一步,所述步骤2的具体步骤为:步骤2.1:在主机房A和备机房B各部署一台Nginx集群;步骤2.2:部署后,将主机房A和备机房B中的Nginx集群的路由权重配置为2:1。
[0010]进一步,所述步骤3的具体为:基于配置好的主机房A和备机房B:当主机房A中的1个数据节点出现宕机情况:在主机房A的数据节点中抽取一个节点模拟宕机情况,即关掉抽取的节点或关掉抽取的节点所在的虚拟机,进行应用查询服务正常;当主机房A中两个区域各有一个节点出现宕机情况:抽取主机房A中两个不同区域的两个节点模拟宕机情况,即关掉抽取的节点或关掉抽取的节点所在的虚拟机,进行应用查询服务正常;当主机房A中有一区域的两个数据节点全宕机:在主机房A中任选一个区域的两台机器,模拟宕机情况,即关掉抽取的节点或关掉抽取的节点所在的虚拟机,进行应用查询服务正常;当三区域各有一数据节点出现宕机情况:在三个区域中,各抽取一台数据节点模拟宕机情况,即关掉抽取的节点或关掉抽取的节点所在的虚拟机,进行应用查询服务正常;当备机房B对应的区域中的数据节点全宕机:抽取备机房B的两台数据节点模拟宕
机情况,即关掉抽取的节点或关掉抽取的节点所在的虚拟机,进行应用查询服务正常;当区域z1中master节点出现宕机情况:抽取主机房A中的节点Anode1宕机,即关掉抽取的节点或关掉抽取的节点所在的虚拟机,进行应用查询服务正常;当区域z2中master节点宕机情况:抽取主机房A中的节点Anode4宕机,即关掉抽取的节点或关掉抽取的节点所在的虚拟机,进行应用查询服务正常;当区域z3中master节点宕机情况:将备机房B中的节点Bnode1宕机,即关掉抽取的节点或关掉抽取的节点所在的虚拟机,进行应用查询服务正常;当备机房B中的节点全部宕机:抽取备机房B中的节点Bnode1

Bnode3宕本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种es集群双机房高可用部署方法,其特征在于,包括:步骤1:将Es集群安装部署在主机房A和备机房B,安装部署好后进行同一分片的副本分别分布在主机房A和备机房B、且分片和分片的副本位于不同区域的参数设置;步骤2:将Nginx集群安装部署在主机房A和备机房B,并进行路由配置;步骤3:基于配置好的主机房A和备机房B实现高可用逻辑调用。2.根据权利要求1所述的一种es集群双机房高可用部署方法,其特征在于:所述步骤1的具体步骤为:步骤1.1:在主机房A安装部署6台es节点,6台es节点为Anode1

Anode6;步骤1.2:在备机房B安装部署3台es节点, 3台es节点为Bnode1

Bnode3;步骤1.3:设置mater节点和数据节点:修改Anode1、Anode4和Bnode1节点的配置,即将Anode1、Anode4和Bnode1节点中的参数node.master设置为true,修改后,Anode1、Anode4和Bnode1节点为master节点;修改Anode2、Anode3、Anode5、Anode6、Bnode2和Bnode3节点的配置,即将Anode2、Anode3、Anode5、Anode6、Bnode2和Bnode3节点中的参数node.data设置为true,修改后,Anode2、Anode3、Anode5、Anode6、Bnode2和Bnode3节点为数据节点;步骤1.4:设置Es集群按区域分配参数,即设置决定集群是否按区域分配的参数cluster.routing.allocation.awareness.attributes=zone,设置决定Es集群强制划分区域的参数cluster.routing.allocation.awareness.force.zone.values=z1,z2,z3,以使一个区域只会保存同一shard的一个副本,且shard和副本位于不同区域,保证副本不会跨区域allocation,其中,shard表示Es集群中用于存储数据的分片,每个分片有两个副本,allocation表示节点迁移;步骤1.5:设置Es集群按区域分配参数后,为各节点划分编号:即设置各节点中的node.attr.zone参数,将Anode1

Anode3节点的中的node.attr.zone设置为z1、Anode4

Anode6节点的中的node.attr.zone设置为z2、Bnode1

Bnode3节点的中的node.attr.zone设置为z3,其中,node.attr.zone表示区域划分编号参数,以将不同节点设置为相同的区域编号,实现将对应节点归属于同一区域;步骤1.6:划分编号后,设置Es集群至少需要两个master节点才能对外提供服务,并调整Es集群发现其他节点的超时时间;步骤1...

【专利技术属性】
技术研发人员:秦威伟曾令华龚建胡沛勇
申请(专利权)人:武汉众邦银行股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1