前提:一共有3台虚拟机:192.168.164.101、192.168.164.102、192.168.164.103
主从配置:
主节点:192.168.164.103:6379, 从节点:192.168.164.101:6379、192.168.164.102:6379
- 主节点192.168.164.103:6379
# 如果想要除本机以外的机器访问,这里要注释掉
# bind 127.0.0.1
port 6379
protected-mode no
dbfilename mydump.rdb
dir /usr/local/src/redis-4.0.14
requirepass 123456
# 主节点认证密码
# PS:既然所有节点都配置了requirepass 那么最好每个节点都配置主节点密码,因为故障转移后,原来的主节点变为从节点那么就需要认证密码了,不然就复制不了新的主节点的数据
masterauth 123456
- 从节点: 192.168.164.101:6379、192.168.164.102:6379 配置相同
# bind 127.0.0.1
port 6379
protected-mode no
dbfilename mydump.rdb
dir /usr/local/src/redis-4.0.14
requirepass 123456
# 主从:绑主节点
slaveof 192.168.164.103 6379
# 主节点认证密码
masterauth 123456
哨兵节点配置
在上述的主从配置的基础上,为每个虚拟机开一个哨兵节点:192.168.164.101:26379、192.168.164.102:26379、192.168.164.103:26379,三个哨兵节点配置相同。
port 26379
# 默认:保护模式开启
# PS:如果是自己新建的sentinel.conf文件一定要配置成no 不然client连不上sentinel
protected-mode no
# 是否以后台进程运行 为了测试方便 所以这里是否
daemonize no
# 不配置logfil 日志就会在启动时打印 为了测试方便
# logfile mysentinel.log
dir /usr/local/src/redis-4.0.14
sentinel monitor mymaster 192.168.164.103 6379 2
sentinel auth-pass mymaster 123456
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 180000
集群配置
为集群内所有节点统一目录,一般划分三个目录:conf、data、log
,分别存放配置、数据和日志相关文件。
六个节点:
三主:192.168.164.101:6379、192.168.164.102:6379、192.168.164.103:6379
三从:192.168.164.101:6380、192.168.164.102:6380、192.168.164.103:6380
这里所有的密码应该保持一致
- 主节点–端口为6379节点配置:
# bind 127.0.0.1
port 6379
daemonize yes
protected-mode no
logfile /usr/local/src/redis-4.0.14/log/redis-6379.log
dbfilename redis-6379.rdb
dir /usr/local/src/redis-4.0.14/data
requirepass 123456
masterauth 123456
# redis cluster
cluster-enabled yes
cluster-node-timeout 15000
cluster-config-file nodes-6379.conf
- 从节点–端口为6380节点配置:
# bind 127.0.0.1
port 6380
daemonize yes
protected-mode no
logfile /usr/local/src/redis-4.0.14/log/redis-6380.log
dbfilename redis-6380.rdb
dir /usr/local/src/redis-4.0.14/data
requirepass 123456
masterauth 123456
# redis cluster
cluster-enabled yes
cluster-node-timeout 15000
cluster-config-file nodes-6380.conf