redis集群中的主从复制架构(3主3从)

架构图如下

首先开启6个实例,这里为了演示方便,只是在一个linux上开启了6redis实例

6380 (主)   6480 (从)

6381(主)   6481(从)  

6382(主)   6482(从)

创建6个文件夹

 拷贝redis.conf到这6个文件夹下面

修改相关配置参数

port 6380

pidfile /var/run/redis_6380.pid

取消注释 并修改nodes-xxx为对应的端口号

 

修改dir为对应的工作目录

开启6个实例

因为redis-trib.rb是有ruby语言编写的所以需要安装ruby环境。

通过以下方式安装:

yum -y install zlib ruby rubygems

gem install redis

创建集群

redis的安装目录下

redis-3.2.10/src

执行(注意 整句命令不能有回车

./redis-trib.rb create --replicas 1 192.168.0.116:6382 192.168.0.116:6380 192.168.0.116:6381 192.168.0.116:6480 192.168.0.116:6481 192.168.0.116:6482

【--replicas 1:指定了从数据的数量为1】

以下是执行命令后的界面:::

[root@localhost src]$ ./redis-trib.rb create --replicas 1 192.168.0.116:6382 192.168.0.116:6380 192.168.0.116:6381 192.168.0.116:6480 192.168.0.116:6481 192.168.0.116:6482

>>> Creating cluster

>>> Performing hash slots allocation on 6 nodes...

Using 3 masters:

192.168.0.116:6382

192.168.0.116:6380

192.168.0.116:6381

Adding replica 192.168.0.116:6480 to 192.168.0.116:6382

Adding replica 192.168.0.116:6481 to 192.168.0.116:6380

Adding replica 192.168.0.116:6482 to 192.168.0.116:6381

M: b178d2d995737c7f7327e9717dda9203057dc4e0 192.168.0.116:6382

   slots:0-5460 (5461 slots) master

M: 44a8ddca110eccf27bb42a9ff3934c6cd989c5b3 192.168.0.116:6380

   slots:5461-10922 (5462 slots) master

M: f6a3009c4441478a99c2787d0c283383cfd2b9fc 192.168.0.116:6381

   slots:10923-16383 (5461 slots) master

S: d30b12f6b97a731e2953a5d3166609dc4e59abc9 192.168.0.116:6480

   replicates b178d2d995737c7f7327e9717dda9203057dc4e0

S: 12e1d48b3b0b266eff17d3a707a8f49163f60420 192.168.0.116:6481

   replicates 44a8ddca110eccf27bb42a9ff3934c6cd989c5b3

S: 18b881258bf48a20761bf38c34d13828a0e25032 192.168.0.116:6482

   replicates f6a3009c4441478a99c2787d0c283383cfd2b9fc

Can I set the above configuration? (type 'yes' to accept): yes

输入yes 就创建成功了

 

测试 ,这里我们kill掉  master 6381 

可以看到 集群依然正常,6482变成master

 使用集群需要注意的事项

1、多键的命令操作(如MGETMSET),如果每个键都位于同一个节点,则可以正常支持,否则会提示错误。

2、集群中的节点只能使用0号数据库,如果执行SELECT切换数据库会提示错误。

3 、集群安装需要ruby环境,请注意配置

 

原文地址:https://www.cnblogs.com/javabigdata/p/7412775.html