mkdir -p /usr/local/software/redis/master/data
mkdir -p /usr/local/software/redis/slave1/data
mkdir -p /usr/local/software/redis/slave2/data
mkdir -p /usr/local/software/redis/sentinel/run
mkdir -p /usr/local/software/redis/sentinel/log
mkdir -p /usr/local/software/redis/sentinel/tmp
mkdir -p /usr/local/software/redis/sentinel/conf
#主Rdis
vim /usr/local/software/redis/master/data/redis1.conf
bind 0.0.0.0
port 6379
daemonize yes
requirepass password123456
logfile "/usr/local/software/redis/log/redis1.log"
dbfilename db1.rdb
dir /usr/local/software/redis/data
appendonly yes
appendfilename appendonly1.aof
masterauth password123456
#从redis
vim /usr/local/software/redis/slave1/data/redis2.conf
bind 0.0.0.0
port 6380
daemonize yes
requirepass password123456
logfile "/usr/local/software/redis/log/redis2.log"
dbfilename db2.rdb
dir /usr/local/software/redis/data
appendonly yes
appendfilename appendonly2.aof
replicaof 127.0.0.1 6379
masterauth password123456
#从redis
vim /usr/local/software/redis/slave2/data/redis3.conf
bind 0.0.0.0
port 6381
daemonize yes
requirepass password123456
logfile "/usr/local/software/redis/log/redis3.log"
dbfilename db3.rdb
dir /usr/local/software/redis/data
appendonly yes
appendfilename appendonly3.aof
replicaof 127.0.0.1 6379
masterauth password123456
#哨兵1
vim /usr/local/software/redis/sentinel/conf/sentinel-1.conf
port 26379
bind 0.0.0.0
daemonize yes
pidfile "/usr/local/software/redis/sentinel/run/redis-sentinel-1.pid"
logfile "/usr/local/software/redis/sentinel/log/sentinel_26379.log"
dir "/usr/local/software/redis/sentinel/tmp"
sentinel monitor mymaster 127.0.0.1 6379 2
sentinel down-after-milliseconds mymaster 5000
sentinel auth-pass mymaster password123456
sentinel failover-timeout mymaster 30000
#哨兵2
vim /usr/local/software/redis/sentinel/conf/sentinel-2.conf
port 26380
bind 0.0.0.0
daemonize yes
pidfile "/usr/local/software/redis/sentinel/run/redis-sentinel-2.pid"
logfile "/usr/local/software/redis/sentinel/log/sentinel_26380.log"
dir "/usr/local/software/redis/sentinel/tmp"
sentinel monitor mymaster 127.0.0.1 6379 2
sentinel down-after-milliseconds mymaster 5000
sentinel auth-pass mymaster password123456
sentinel failover-timeout mymaster 30000
#哨兵3
vim /usr/local/software/redis/sentinel/conf/sentinel-3.conf
port 26381
bind 0.0.0.0
daemonize yes
pidfile "/usr/local/software/redis/sentinel/run/redis-sentinel-3.pid"
logfile "/usr/local/software/redis/sentinel/log/sentinel_26381.log"
dir "/usr/local/software/redis/sentinel/tmp"
sentinel monitor mymaster 127.0.0.1 6379 2
sentinel down-after-milliseconds mymaster 5000
sentinel auth-pass mymaster password123456
sentinel failover-timeout mymaster 30000
#启动redis
./redis-server ../master/data/redis.conf
./redis-server ../slave1/data/redis.conf
./redis-server ../slave2/data/redis.conf
#启动哨兵
./redis-server /usr/local/software/redis/sentinel/conf/sentinel-1.conf --sentinel
./redis-server /usr/local/software/redis/sentinel/conf/sentinel-2.conf --sentinel
./redis-server /usr/local/software/redis/sentinel/conf/sentinel-3.conf --sentinel
#登录客户端
./redis-cli -a password123456 -p 6379
#查看主从状态
127.0.0.1:6379> info replication
#登录哨兵
./redis-cli -p 26379
#查看
127.0.0.1:26379> info sentinel
注意:
springboot如果要连接redis,哨兵 配置里的127.0.0.1要改成服务器的外网地址,不然springboot会报:
Could not get a resource from the pool; nested exception is io.lettuce.core.RedisConnectionException: Unable to connect to 127.0.0.1:6379