环境说明
当前的环境条件如下,当然这并不是部署sentinel的最低可行版本。
- CentOS7(ip: 192.168.8.11)
- Redis5.0.2(可执行命令已复制到
/usr/local/bin/
) - Laravel5.5(5.4>=版本开始支持sentinel)
- predis1.1
部署
按3个server节点(一主两从)+3个sentinel节点的拓扑结构进行部署。
部署的端口分配如下:
IP | 端口 | 类型 | 配置文件 |
---|---|---|---|
192.168.8.11 | 6400 | server | /usr/local/etc/redis-6400.conf |
192.168.8.11 | 6401 | server | /usr/local/etc/redis-6401.conf |
192.168.8.11 | 6402 | server | /usr/local/etc/redis-6402.conf |
192.168.8.11 | 26400 | sentinel | /usr/local/etc/sentinel-26400.conf |
192.168.8.11 | 26401 | sentinel | /usr/local/etc/sentinel-26401.conf |
192.168.8.11 | 26402 | sentinel | /usr/local/etc/sentinel-26402.conf |
实际生产环境并不建议将所有的sentinel节点都放在同一台物理机上,因为同一台机器一但发生硬件故障,则整个高可用部署都受到严重影响。
redis server配置文件
主节点配置示例
#/usr/local/etc/redis-6400.conf
port 6400
daemonize yes
pidfile "/var/run/redis-6400.pid"
logfile "/data/redis/redis-6400.log" #日志路径
dir "/data/redis-5.0.2/" #输出目录
bind 0.0.0.0 #开放给非同一服务器上的客户端调用
从节点配置示例
#/usr/local/etc/redis-6401.conf
port 6401
daemonize yes
pidfile "/var/run/redis-6401.pid"
logfile "/data/redis/redis-64