TongRDS2216 配置双集群同步(by lqw)

说明

1.RDS双集群同步是为了应对双服务中心而设计的一种部署模式,安装部署两套不关联的集群模式,然后使用RDS的backup来使两套集群直接进行数据同步。
2.当使用cluster nodes命令查询集群情况的时候,只能查询到当前连接的集群的情况。
3.强调一下,建議使用手動部署版!!!!
4.本次示范仅供参考,实际请根据自身需求进行配置。

涉及的基础配置和名词说明

1.中心节点:RDS的中心节点,负责服务的注册管理和授权管理
2.服务节点:RDS提供基础缓存操作的节点
3.cluster.properties:中心节点动态配置文件,配置管理的服务节点信息
4.cfg.xml:服务节点基础信息配置文件,这里负责配置服务节点服务组名称
5.dynamic.xml:服务节点动态信息配置文件,配置关联中心节点信息和配置backup

配置说明

本次使用的两个rds集群均为一个中心节点,兩个分片,每个分片两个服务节点的配置进行配置和测试。

安装指引

安裝參考:

rds2214手动部署

手动部署集群的相关信息说明

本次示范使用服务器ip:192.168.10.112,192.168.10.113,192.168.10.114,192.168.10.115,其中192.168.10.112和192.168.10.113作为集群A(服务名city_one_cluster),192.168.10.114he 192.168.10.115作为集群B(服务名city_two_cluster),集群A和集群B均为一个中心节点两个分片,每个分片两个服务节点的集群。

所以每台服务器,都会有兩个pmemdb(有一個是我解压出来做对比的,pmemdb_03),如下图所示:
在这里插入图片描述

搭建集群A和集群B

本次使用192.168.10.112上的pcenter作为中心节点。
后面也可以配置多个中心节点,但是请记住,中心节点的个数必须是奇数(例如1,3,5)。
中心节点并非越多越好,请根据自身实际情况进行配置和添加(后面会放上如何配置多中心节点,请搭建好后再自行判断和配置)。

首先到192.168.10.112上的pcenter,配置cluster.properties:

在这里插入图片描述
由于我这边配的是双集群同步,为了避免服务名重复,所以我这里把服务名改成了city_one_cluster(默认是WebSession,自己改一个自己记得的也行,但是尽量不要用中文),以下是我的cluster.properties:

city_one_cluster.type=cluster
city_one_cluster.shards=2
city_one_cluster.shard0.nodes=192.168.10.112:6200,192.168.10.113:6200
city_one_cluster.shard0.slots=0-4999
city_one_cluster.shard1.nodes=192.168.10.112:6201,193.168.10.112:6201
city_one_cluster.shard1.slots=5000-10000

WebSession.type配成cluster,意思是配置成集群,city_one_cluster(.shards意思是要用几个分片,这里配了两个个分片。

查看一下pcenter/etc/下的config.properties,把26379这一行注释掉(加#号操作):
在这里插入图片描述

配置一下sync.properties,將localhost改成服務器ip
在这里插入图片描述

然后到pmemdb_01 ,在etc/config 配置dynamic.xml,里面写上112的服务器ip和端口(端口可以查看pcenter的config.properties,也就是上图所示的server.service.port=6300,这个端口可以理解为服务节点连接中心节点通信用的端口,另外pmemdb_01里的dynamic.xml要跟pcenter里的config.properties和sync.properties的配置一致,如下图所示)。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

同理,修改112服务器上的pmemdb_02的dynamic.xml。

接下来轮到pmemdb_01的cfg.xml。由于我们已经改了服务名,所以需要把WebSession改成city_one_cluster,也就是在pcenter里配的cluster.properties的服务名。

在这里插入图片描述

同时注意,由于我这边是两个服务节点都在同一台服务器运行,所以pmemdb的cfg.xml,要把port改成6201,redisport改成6380,避免端口冲突,下面两个图分别是pmemdb_01和pmemdb_02的:
在这里插入图片描述

在这里插入图片描述

操作113,114,115服务,除了服务名为city_two_cluster,其余基本一致。

另外114和115的中心节点用114的pcenter,所以114和115的pmemdb的dynamic.xml得配114的ip和端口。

校验集群

参考
rds2214手动部署

以集群A作为示范,如下图所示,使用./Client.sh -r -p 6379,查看集群信息:
在这里插入图片描述在这里插入图片描述

同时可以查看各个服务节点,也就是pmemdb,dynamic里的信息是否已经自动更新(一般会自动更新的),如下图所示:
在这里插入图片描述

配置同步

接下來就是最繁琐的地方了。

首先我们看看两个集群的配置信息:
在这里插入图片描述

在这里插入图片描述

配置原理:
每个dynamic.xml里配置Backup标签,每个backup标签里配置对应分片的信息。

例如city_one_cluster 里的pememdb_01,所在分片节点为shard0,那就得参考city_two_cluster的集群配置,配置shard0的信息到backup标签里,以此类推。

也就是说,上图8个服务节点,每个服务节点都要配置一次backup。
建议每配一个dynamic.xml,就要对比一下另一个集群的cluster.properties,确保能对得上分片和节点。

例如本次示范的city_one_cluster,先打开city_two_cluster的cluster.properties,然后一个个节点进行配置。

先是配置pmemdb_01(所在服务器ip192.168.10.112),这个在city_one_cluster对应的是shard0,那么backup就得配city_two_cluster 对应的shard0的两个节点信息:
在这里插入图片描述

下面是112服务器上pmemdb_01的dynamic.xml示范:
在这里插入图片描述

  <Backup>
   <EndPoint>
      <Host>192.168.10.114</Host>
      <Port>6200</Port>
    </EndPoint>
   <EndPoint>
      <Host>192.168.10.115</Host>
      <Port>6200</Port>
    </EndPoint>
   </Backup>  

以此类推,建议修改前每个dynamic.xml的时候,先备份好dynamic.xml,或者备份整个pemdb(这也是为什么前面需要先搭建好集群并校验集群没问题),修改完后重启所有的节点包括中心节点和服务节点。

然后用./Clent.sh -r -p 6379分别在112和114的服务器上测试,先在112上set一个key,set完后去114上看看能不能获取到,能获取到说明配置成功:

在这里插入图片描述

在这里插入图片描述

也可以关掉其中一个集群,到另一个集群看看有没有set进去的数据:
在这里插入图片描述
在这里插入图片描述
还可以趁着其中一个集群关了,在另一个集群set一个key,然后重启另一个集群后看看有没有同步过来:

在这里插入图片描述
在这里插入图片描述

备注:
如果遇到这种提示
在这里插入图片描述
这个是正常的,客户端操作的时候会根据key计算slots,然后拿对应节点的连接进行操作,这种用./Client.sh 的时候会遇到,测试的时候,用client连接提示的服务器ip跟节点就好了,实际应用使用的时候,多数是配置集群配置,会配多个节点ip和端口,一般不受这个影响。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值