环境准备

服务器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

image-20220927152710836

安装

# 创建文件夹,之后上传下载的 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