环境准备
| 服务器ip | 系统 |
|---|---|
| 192.168.31.200 | centos7.9 |
| 192.168.31.201 | centos7.9 |
| 192.168.31.202 | centos7.9 |
安装
centos 默认 yum 源没有 redis 的 rpm,需要使用第三方的 rpm。
下载
此处下载 redis-7.0.4-1 ,其他版本自行下载
https://rhel.pkgs.org/7/remi-x86_64/redis-7.0.5-2.el7.remi.x86_64.rpm.html

安装
# 创建文件夹,之后上传下载的 rpm 包到此目录
[root@localhost redis]# mkdir -p /data/rpm/redis
# 安装
[root@localhost redis]# cd /data/rpm/redis
[root@localhost redis]# yum install redis-7.0.4-1.el7.remi.x86_64.rpm -y
服务管理
启动
[root@localhost redis]# service redis start
停止
[root@localhost redis]# service redis stop
重启
[root@localhost redis]# service redis restart
配置
配置允许外部访问
配置文件位于 /etc/redis.conf
# 修改成允许外部连接访问, 线上环境最好指定 ip
bind 0.0.0.0
# 设置密码,线上环境必须配置,否则有安全问题
requirepass As123456!
配置主从
只需要从服务器配置即可
# 设置主服务的ip和端口
slaveof 192.168.31.200 6379
配置哨兵
配置文件位于 /etc/redis-sentinel.conf
# 修改成允许外部连接访问
bind 0.0.0.0
# mymaster:自定义的参数,用来定义 master 别名,供其他参数使用
# 192.168.31.201: master 的 ip
# 6379:master 的端口
# 2: 表示至少 2 台哨兵认为 master 不可访问,才认定 master 故障,再进行故障转移
sentinel monitor mymaster 192.168.31.201 6379 2
启动哨兵
# & 表示后台启动
redis-sentinel /etc/redis-sentinel.conf &
检测哨兵
下面的 mymaster 为上文配置的 master 别名
# 获取当前主节点信息地址信息
SENTINEL get-master-addr-by-name mymaster
# 获取主节点信息
SENTINEL MASTER mymaster
# 获取从节点信息
SENTINEL slaves mymaster
# 获取其他哨兵信息
SENTINEL sentinels mymaster
参考链接
官方主从模式文档: https://redis.io/topics/replication
官方哨兵模式文档: https://redis.io/topics/sentinel