Redis Sentinel模式部署
- 前言
- 一、服务器部署同版本的redis
- 1、换软件源
- 在yum拉取包的时候启用remi源
- 二、修改配置文件
- 1.修改/etc/redis.conf
- 2.配置/etc/redis/sentinel.conf
- 三、启动redis服务
- 1、启动服务
- 2、连接redis
- 3、检查redis
前言
这里就不过多的解释高可用的好处了,Redis在开发中使用也比较常见。如果自己又三台或三台以上的服务器,那么就可以自己部署来玩玩。
服务器 | IP地址 |
---|---|
12 | 192.168.0.12 |
200 | 192.168.0.200 |
201 | 192.168.0.201 |
一、服务器部署同版本的redis
yum直接安装redis,直接使用yum install redis 只有3.2.12-2.el7
该版本是比较远古的版本,建议使用比较新的稳定版本
1、换软件源
yum install -y http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
在yum拉取包的时候启用remi源
yum --enablerepo=remi install redis -y
以上完成三台服务上的redis安装,不用着急启动redis
三台服务的密码最好保持一致
二、修改配置文件
1.修改/etc/redis.conf
主要需要修改只有几个参数,其他的就不需要动了
主节点 192.168.0.201
# bind 127.0.0.1 ::1
protected-mode no
port 16379
requirepass DoocnProRedis201.
注释掉 127.0.0.1
配置好 redis的端口和密码
从节点 192.168.0.12 / 192.168.0.200
# bind 127.0.0.1 ::1
protected-mode no
port 16379
requirepass DoocnProRedis201.
masterauth DoocnProRedis201
replicaof 192.168.0.201 16379
从Redis 5.0版本开始,slaveof配置选项被重命名为replicaof。
可以很清楚的看到,只需要配置以上两个参数即可
replicaof :主节点的redis 地址和端口
masterauth:主节点的redis的密码
2.配置/etc/redis/sentinel.conf
sentinel myid b2c3d4e5f6a70123456789abcdef0123456789ac
supervised systemd
port 26379
bind 0.0.0.0
daemonize yes
pidfile "/var/run/redis-sentinel.pid"
logfile "/var/log/redis/sentinel.log"
loglevel notice
dir "/tmp"
sentinel monitor mymaster 192.168.0.201 16379 2
sentinel auth-pass mymaster DoocnProRedis201.
acllog-max-len 128
sentinel deny-scripts-reconfig yes
sentinel resolve-hostnames no
sentinel announce-hostnames no
sentinel myid : 由 40 个十六进制字符组成的 ID,自定义生成即可
supervised : 选项主要用于配置Redis服务器进程的监控方式
sentinel monitor mymaster:主节点 地址和端口
sentinel auth-pass mymaster :主节点密码
其他的照抄即可
端口26379是Redis Sentinel的默认监听端口。在Redis Sentinel配置文件中,port选项用于指定Sentinel实例监听客户端连接的端口。Sentinel实例在此端口上接受来自客户端的命令和查询,以及与其他Sentinel实例通信以协调故障检测和故障转移过程。
三、启动redis服务
1、启动服务
#启动Redis
systemctl start redis
或
service redis start
# 开机启动
systemctl enable redis
2、连接redis
redis-cli -p 16379
(error) NOAUTH Authentication required.
auth DoocnProRedis201.
首次连接需要验证密码
3、检查redis
主节点 192.168.0.201
从节点 192.168.0.200
确保以上的文件一致,则表示成功了。
因为我的服务器都是内网,所以三台服务器之间通讯很快,如果是外网则要考虑到IO的问题应该数据复制的效率