Redis版本:3.2.0
集群类型:经典的master-slave是的三个节点构成的集群。一个节点包含一个master,一个slave。一台物理机上有一个master和一个slave,那么就总共6个redis实例,三台物理机。
各个节点的master均在 2001端口, slave均在2002端口
节点配置
host1 : 192.168.0.1
host2 : 192.168.0.2
host3 : 192.168.0.3
Node1:
Master : host1:2001, Slave: host1:2002
Master 配置文件 (redis-2001.conf):
port 2001
cluster-enabled yes
cluster-config-file nodes-2001.conf
cluster-node-timeout 5000
appendonly yes
Slave 配置文件 (redis-2002.conf):
port 2002
cluster-enabled yes
cluster-config-file nodes-2002.conf
cluster-node-timeout 5000
appendonly yes
命令启动
master : redis-server redis-2001.conf
slave : redis-server redis-2002.conf
Node2:
Master : host2:2001, Slave: host2:2002
-- 与node1的完全一致
Node3:
Master : host3:2001, Slave: host3:2002
-- 与node1的完全一致
创建redis cluster集群
(重要:不能用主机名,一定要用IP地址来表示主机地址)
-- 注意
这样创建的集群M-S之间的备份关系是随机的, master 与 slave可能在同一台机器上。这样当这台机器down掉的话可能拖垮整个cluster。
指定M-S关系的cluster的创建
#先创建三个Master
redis-trib create 192.168.0.1:2001 192.168.0.2:2001 192.168.0.3:2001
#命令为:redis-trib add-node --slave --master-id ${master-id} ${slave-host}:${slave-port} ${master-host}:${master-port}
redis-trib add-node --slave --master-id d9221643e555ea22f4e491f5009b862d9cd71af6 192.168.0.2:2002 192.168.0.1:2001
redis-trib add-node --slave --master-id 5699fd1b1e505de4c762d8c3a8343289bc565b51 192.168.0.3:2002 192.168.0.2:2001
redis-trib add-node --slave --master-id 66aa11701dac41a2c6fb78e28bb11c7853dd46c6 192.168.0.1:2002 192.168.0.3:2001
redis-trib check localhost:2001 #查看集群状态
参考链接:
1,https://redis.io/topics/cluster-tutorial