创建三个Redis实例所需的目录,生产环境需独立部署在不同主机上,提高稳定性。
Redis 哨兵模式(Sentinel)是一个自动监控处理 redis 间故障节点转移工作的一个redis服务端实例,它不提供数据存储服务,只进行普通 redis 节点监控管理,使用redis哨兵模式可以实现redis服务端故障的自动化转移。
一、搭建redis主从集群
1、创建3个redis实例
关于redis的搭建,可以参考历史文章。
如果有编译好的二进制文件,则直接部署redis实例即可。
创建三个redis实例所需的目录,生产环境需独立部署在不同主机上,提高稳定性。
mkdir -p /data/redis
cd /data/redis/
mkdir redis6379 redis6380 redis6381
cd redis6379
vim redis.conf
# 添加如下配置
bind 0.0.0.0
protected-mode no
port 6379
tcp-backlog 511
timeout 30
tcp-keepalive 300
daemonize yes
supervised no
pidfile /data/redis/redis6379/redis_6379.pid
loglevel notice
logfile "/data/redis/redis6379/redis6379.log"
databases 16
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb
dir /data/redis/redis6379
masterauth 123456
slave-serve-stale-data yes
slave-read-only yes
# 将配置文件拷贝到其他2个实例的目录下
cp redis.conf ../redis6380.conf
cp redis.conf ../redis6381.conf
sed -i "s#6379#6380#g" ../redis6380/redis.conf
sed -i "s#6379#6381#g" ../redis6381/redis.conf
# redis实例不建议使用root账号启动,单独创建一个redis用户,并修改redis相关目录的权限
useradd redis
chown -R redis:redis /data/redissu - redis
# 启动三个redis实例
redis-server /data/redis/redis6379/redis.conf
redis-server /data/redis/redis6380/redis.conf
redis-server /data/redis/redis6381/redis.c