我们现在开始搭建Redis哨兵集群配置,一主二存+三个哨兵组成Redis哨兵集群。
Redis sentinel哨兵是特殊的redis服务,不提供读写服务,主要用来监控redis实例节点。哨兵架构下client端第一次从哨兵找出redis的主节点,以后就直接访问redis服务的主节点,不会每次都通过sentinel代理访问redis的主节点,当redis的主节点发生变化,哨兵会第一时间感知到,并且将新的redis主节点通知给client端。
接下来开始搭建Redis哨兵高可用架构:
首先安装Redis,以Redis6.2.6为例。
1.下载redis安装包
wget https://download.redis.io/releases/redis-6.2.6.tar.gz
2.进行解压
tar -zxvf redis-6.2.6.tar.gz
3.移动到/usr/local/目录下,命名为redis
mv redis-6.2.6 /usr/local/redis
4.切换到/usr/local/redis目录并编译
cd /usr/local/redis
make
5.安装到目录/usr/local/redis
make PREFIX=/usr/local/redis install
6. 创建目录,为了方便后期维护
cd /usr/local/redis
mkdir etc #配置文件redis.conf
mkdir logs #日志文件
mkdir data #数据
7.复制配置文件
cd /usr/local/redis
复制主节点master:6379,
存节点slave:6380;存节点slave:6381
#redis.conf为主节点master
cp redis.conf /usr/local/redis/etc/
重写命名redis.conf配置文件
#redis-6380.conf为从节点slave
mv redis.conf redis-6380.conf
#redis-6381.conf为从节点slave
mv redis.conf redis-6381.conf
复制三个哨兵配置文件
cp sentinel.conf /usr/local/redis/etc/
mv sentinel.conf sentinel-26380.conf
mv sentinel.conf sentinel-26381.conf
8.修改配置文件
修改主节点master:6379的配置。
vim redis.conf
#appendonly默认是no,修改为yes开启AOF持久化
appendonly yes
#设置哪些IP可以连接Redis,直接注释掉
#bind 127.0.0.1 -::1
#我们在redis的配置文件中会遇到protected-mode,它直译为保护模式。
#如果设置为yes,那么只允许我们在本机的回环连接,其他机器无法连接。
#线上Redis服务,为了安全,我们建议将protected-mode设置为yes。
#protected-mode设置为yes的情况下,为了我们的应用服务可以正常访问Redis,我们需要#设置Redis的bind参数或者密码参数requirepass
protected-mode yes
#设置Redis启动为后台守护进程
daemonize yes
#pidfile的路径
pidfile /usr/local/redis/logs/redis.pid
#日志文件的路径
logfile /usr/local/redis/lo