Redis-sentinel高可用安装步骤
1、前置准备
1、服务器
需要准备三台Centos7
的服务器
三台服务器都已经配置好静态IP。
没有配的可以参考:https://blog.csdn.net/qq_37481017/article/details/118732932
主机名 | IP | Redis版本 | 主从节点 |
---|---|---|---|
server1 | 192.168.3.191 | 6.2.7 | master |
server2 | 192.168.3.192 | 6.2.7 | slave |
server3 | 192.168.3.193 | 6.2.7 | slave |
2、环境准备
以下所有操作需要在所有机器上执行、操作用户是root
1、下载依赖
Redis6.x以上需要gcc版本大于5.3以上
yum -y install centos-release-scl devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils scl enable devtoolset-9 bash
# 设置长期使用gcc9
echo -e "\nsource /opt/rh/devtoolset-9/enable" >>/etc/profile
2、关闭防火墙
# 查看防火墙状态
firewall-cmd --state
# 临时停止防火墙
systemctl stop firewalld.service
# 禁止防火墙开机启动
systemctl disable firewalld.service
3、创建安装包目录
mkdir -p /app/software
2、安装Redis
以下操作需要在所有机器上执行
1、解压安装包
tar -zxvf redis-6.2.7.tar.gz
2、安装
cd redis-6.2.7
make && make test
# 安装到/app/redis-6.2.7
make install PREFIX=/app/redis-6.2.7
mkdir /app/redis-6.2.7/conf && mkdir /app/redis-6.2.7/logs && cp /app/software/redis-6.2.7/redis.conf /app/redis-6.2.7/conf/ && mkdir /app/redis-6.2.7/data
3、修改配置文件
vim /app/redis-6.2.7/conf/redis.conf
# 修改以下配置
bind 192.168.3.191
daemonize yes
pidfile /app/redis-6.2.7/redis_6379.pid
logfile "/app/redis-6.2.7/logs/redis.log"
dir /app/redis-6.2.7/data/
requirepass 123456
masterauth 123456
# 只需要在两台slave机器最后面加上以下配置
replicaof 192.168.3.191 6379
3、配置Sentinel
以下操作需要在所有机器上执行
1、复制配置文件
cp /app/software/redis-6.2.7/sentinel.conf /app/redis-6.2.7/conf/
2、修改配置文件
vim /app/redis-6.2.7/conf/sentinel.conf
# 修改以下配置
daemonize yes
pidfile /app/redis-6.2.7/redis-sentinel.pid
logfile "/app/redis-6.2.7/logs/sentinel.log"
dir /app/redis-6.2.7/data/
sentinel monitor mymaster 192.168.3.191 6379 2
sentinel down-after-milliseconds mymaster 30000
sentinel failover-timeout mymaster 180000
sentinel auth-pass mymaster 123456
requirepass "123456"
3、配置自定义服务
vim /usr/lib/systemd/system/redis.service
# Redis的Systemd自定义服务配置
[Unit]
Description=Redis
After=syslog.target network.target
[Service]
Type=forking
User=root
Group=root
PIDFile=/app/redis-6.2.7/redis_6379.pid
ExecStart=/app/redis-6.2.7/bin/redis-server /app/redis-6.2.7/conf/redis.conf
[Install]
WantedBy=multi-user.target
vim /usr/lib/systemd/system/redis-sentinel.service
# Redis-sentinel的Systemd自定义服务配置
[Unit]
Description=Redis-Sentinel
After=syslog.target network.target redis.service
[Service]
Type=forking
User=root
Group=root
PIDFile=/app/redis-6.2.7/redis-sentinel.pid
ExecStart=/app/redis-6.2.7/bin/redis-sentinel /app/redis-6.2.7/conf/sentinel.conf
[Install]
WantedBy=multi-user.target
4、启动
# 启动redis服务
systemctl start redis
# 设置开机自启
systemctl enable redis
# 启动redis-sentinel服务
systemctl start redis-sentinel
systemctl enable redis-sentinel