1.环境安排
使用三台机器做Redis主从+哨兵模式
redis-master----192.168.38.183
redis-slave1-----192.168.38.184
redis-slave2-----192.168.38.137
2.安装Redis-三台服务器同时操作
# mkdir /data ---创建安装目录
# wget http://download.redis.io/releases/redis-4.0.9.tar.gz ---下载redis的包
# tar xzvf redis-4.0.9.tar.gz -C /data ---解压
# cd /data/
# mv redis-4.0.9/ redis
# cd redis
# yum install -y gcc make ---安装编译工具
# make
# cp redis.conf redis.conf.bak
# vim redis.conf
bind 192.168.38.183 ---监听的内网ip
daemonize yes ---开启后台模式
port 6379 ---端口
dir /data/redis/data ---本地数据库存放持久化数据的目录
# mkdir /data/redis/data
配置redis为systemctl启动
# cd /lib/systemd/system
[Unit]
Description=Redis
After=network.target
[Service]
ExecStart=/data/application/redis/src/redis-server /data/application/redis/redis.conf --daemonize no
ExecStop=/data/application/redis/src/redis-cli -h 127.0.0.1 -p 6379 shutdown
[Install]
WantedBy=multi-user.target
启动redis
# systemctl daemon-reload
# systemctl start redis-service
3.配置Redis主从
# cd /data/redis
master配置文件配置
# vim redis.conf
bind 0.0.0.0
protected-mode no
slave配置文件诶只
# vim redis.conf
bind 0.0.0.0
protected-mode no
slaveof 192.168.38.183 6379 添加master的内网ip和端口
4.配置 Redis-Sentinel
1.每台机器上修改sentinel.conf配置文件:修改如下配置
# cd ..
# vim sentinel.conf
sentinel monitor mymaster 192.168.38.183 6379 2 #当集群中有2个sentinel认为master死了时,才能真正认为该master已经不可用了。 (slave上面写的是master的ip,master写自己ip)
sentinel down-after-milliseconds mymaster 3000 #单位毫秒
sentinel failover-timeout mymaster 10000 #若sentinel在该配置值内未能完成failover(故障转移)操作(即故障时master/slave自动切换),则认为本次failover失败。
protected-mode no #关闭加密模式--新添加到sentinel配置文件中
2.每台机器启动哨兵服务:
# ./src/redis-sentinel sentinel.conf
注意:在生产环境下将哨兵模式启动放到后台执行: ./src/redis-sentinel sentinel.conf &