一、redis下载
redis下载点击:这里
点击release,选择版本下载,我这里下载的redis6.2.16
二、集群规划
角色 | ip地址 | redis端口 | sentinel端口 |
master/sentinel | 192.168.85.131 | 6379(默认) | 26379(默认) |
slave/sentinel | 192.168.85.132 | 6379 | 26379 |
slave/sentinel | 192.168.85.133 | 6379 | 26379 |
三、redis安装(三台机器都执行)
关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
解压redis
tar -zxvf redis-6.2.16.tar.gz
进入redis解压目录
cd redis-6.2.16/
安装c语言编译环境
yum -y install gcc-c++
修改redis安装目录 ,这里放到/usr/local/redis
vim src/Makefile
# 就 Redis 自身而言是不需要修改的,这里修改的目的是让 Redis 的运行程序不要和其他文件混杂在一起。
PREFIX?=/usr/local/redis
编译安装
make && make install
配置文件拷贝到/usr/local/redis
cp redis.conf /usr/local/redis/
四、主从复制配置
在master节点192.168.85.131上修改redis配置文件
cd /usr/local/redis/
vim redis.conf
# 需要注释掉 bind
# bind 127.0.0.1
# 将保护模式关闭
protected-mode no
# 需要以守护进程方式启动
daemonize yes
# 需要配置日志
logfile "/usr/local/redis/redis.logs"
# 需要配置 rdb 文件的目录
dir /usr/local/redis
# 将 AOF 功能打开
appendonly yes
# 其他配置保存默认
修改slave上192.168.85.132和192.168.35.133的配置
cd /usr/local/redis/
vim redis.conf
# 需要注释掉 bind
# bind 127.0.0.1
# 将保护模式关闭
protected-mode no
# 需要以守护进程方式启动
daemonize yes
# 需要配置日志
logfile "/usr/local/redis/redis.logs"
# 需要配置 rdb 文件的目录
dir /usr/local/redis
# 将 AOF 功能打开
appendonly yes
# 增加配置,写成自己的主节点ip
slaveof 192.168.85.131 6379
# 其他配置保存默认
使用三台机器启动redis服务
/usr/local/redis/bin/redis-server /usr/local/redis/redis.conf
使用redis-cli连接自己的redis服务
/usr/local/redis/bin/redis-cli
查看主从复制信息
info replication
五、配置哨兵
进入上面解压后redis目录,我这里放在/root下
cd /root/redis-6.2.16/
拷贝sentinel配置到/usr/local/redis下
cp sentinel.conf /usr/local/redis
修改sentinel配置
cd /usr/local/redis
vim sentinel.conf
port 26379
daemonize yes
pidfile /var/run/redis-sentinel.pid
logfile "/usr/local/redis/sentinel.logs"
dir /usr/local/redis/
sentinel monitor mymaster 192.168.85.131 6379 2
sentinel down-after-milliseconds mymaster 30000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 180000
sentinel deny-scripts-reconfig yes
启动哨兵
/usr/local/redis/bin/redis-sentinel /usr/local/redis/sentinel.conf
六、验证哨兵
正常状态
查看redis主从复制状态命令
/usr/local/redis/bin/redis-cli info replication
查看redis哨兵状态命令
/usr/local/redis/bin/redis-cli -p 26379 info sentinel
将主节点虚拟机关机,模拟主节点宕机