一、前提:
RDS Cluster集群模式采用无中心结构,每个节点都可以保存数据和整个集群状态,每个节点都和其他所有节点连接。Cluster集群一般由多个节点组成,节点数量至少为6个才能保证组成完整高可用的集群,其中三个为主节点,三个为从节点。三个主节点会分配槽,处理客户端的命令请求,而从节点可用在主节点故障后,顶替主节点。
如下图所示,该集群中包含6个RDS 节点,3主3从,分别为M1,M2,M3,S1,S2,S3。除了主从RDS节点之间进行数据复制外,所有RDS节点之间采用Gossip协议进行通信,交换维护节点元数据信息。
总结下来就是:读请求分配给Slave节点,写请求分配给Master,数据同步从Master到Slave节点。
二、环境介绍
3台主机,分别为服务器1(192.168.1.1)、服务器2(192.168.1.2)和服务器3(192.168.1.3)。
*服务器1主机上运行中心(Center)节点和服务节点1、服务节点2。
*服务器2主机上运行服务节点3、服务节点4
*服务器3主机上运行服务节点5、服务节点6
用Center节点统一管理的企业版集群配置方式(以常见的3主3从配置为例)。实现时,全部有关集群配置均配置到Center节点,服务节点启动时连接Center节点,由Center节点下发并生效集群配置。
三、中心节点安装
1、将TongRDS-2.2.1.2_P3.MC.tar.gz中心节点程序包及中心节点许可证center.lic上传到192.168.1.1:/opt目录下
cd /opt
tar -zxvf TongRDS-2.2.1.2_P3.MC.tar.gz
2、解压后在/opt目录下得到pcenter文件
3、上传license文件到/opt/pcenter
四、服务节点安装
1、将TongRDS-2.2.1.2_P3.Node.tar.gz服务节点程序包上传到192.168.1.1、192.168.1.2、192.168.1.3中的/opt目录下。分别在192.168.1.1、192.168.1.2、192.168.1.3进行如下操作
#在192.168.1.1上操作
cd /opt
tar -zxvf TongRDS-2.2.1.2_P3.Node.tar.gz
mv pmemdb pmemdb1
cp -r pmemdb1 pmemdb2
#在192.168.1.2上操作
cd /opt
tar -zxvf TongRDS-2.2.1.2_P3.Node.tar.gz
mv pmemdb pmemdb3
cp -r pmemdb3 pmemdb4
#在192.168.1.3上操作
cd /opt
tar -zxvf TongRDS-2.2.1.2_P3.Node.tar.gz
mv pmemdb pmemdb5
cp -r pmemdb5 pmemdb6
五、服务节点配置
分别在192.168.1.1、192.168.1.2、192.168.1.3上操作
cd /opt/pmemdb{1..6}/etc
vi dynamic.xml
*修改<Center></Center>中<Host>localhost</Host> 参数,默认为localhost修改为中心节点ip:192.168.1.1
*输入:wq 保存退出
分别在
192.168.1.1:/opt/pmemdb2/etc
192.168.1.2:/opt/pmemdb4/etc
192.168.1.3:/opt/pmemdb6/etc
上操作
cd /opt/pmemdb{2、4、6}/etc
vi cfg.xml
*修改<Port>6200</Port> 参数中的port,默认为6200修改为6201
*修改<RedisPort>6379</RedisPort> 参数中的port,默认为6379修改为6380
*修改<!-- <JmxUrl>localhost:29094</JmxUrl>-->为<JmxUrl>localhost:29095</JmxUrl>
*输入:wq 保存退出
六、中心节点配置
在192.168.1.1中心节点上操作
#修改cluster.properties
cd /opt/pcenter/etc
vi cluster.properties
WebSession.type=cluster
WebSession.shards=3
WebSession.shard0.nodes=192.168.1.1:6200, 192.168.1.2:6201
WebSession.shard0.slots=0-5000
WebSession.shard1.nodes=192.168.1.2:6200, 192.168.1.3:6201
WebSession.shard1.slots=5001-10000
WebSession.shard2.nodes=192.168.1.3:6200, 192.168.1.1:6201
WebSession.shard2.slots=10001-16383
*输入:wq 保存退出
#修改sync.properties
cd /opt/pcenter/etc
vi sync.properties
sync.servers=1
sync.server1.host=192.168.1.1
sync.server1.port=6300
*输入:wq 保存退出
七、启动服务
分别启动中心节点和服务节点
#在192.168.1.1上启动中心节点
cd /opt/pcenter/bin
nohup sh StartCenter.sh &
#在192.168.1.1、192.168.1.2、192.168.1.3上分别启动服务节点
cd /opt/pmemdb{1..6}/bin
nohup sh StartServer.sh &