以下配置机器部署ip为 a、b、c,其中a为master节点
需提前创建 /app/user/oms/redis/data 目录
1.1上传 redis-5.0.5.zip 到对应目录,解压
unzip redis-5.0.5.zip # 生成 redis-5.0.5 目录
1.2 修改配置文件
maxclients 10000 #20000 ,如果连接数不够用,修改此参数,默认为 10000
1.2.1 redis.conf (redis服务)
1.2.1.1 Master 节点(a)
port 6379 #端口
daemonize yes #后台运行
pidfile /app/user/oms/redis/redis_6379.pid #pidfile
logfile "/app/user/oms/redis/redis6379.log" #log 日志
dbfilename dump-6379.rdb #db名称
dir /app/user/oms/redis/data # 也可指定其他目录,前提要有当前用户权限
requirepass 123456 #连接密码
#master节点设置该属性后,所有redis节点均需配masterauth属性
masterauth 123456
bind 0.0.0.0 #bind 也可以配成本机 ip 地址
protected-mode no
1.2.1.2 Slave 节点(slave节点共两台,b、c)
port 6379 #端口
daemonize yes #后台运行
pidfile /app/user/oms/redis/redis_6379.pid #pidfile
logfile "/app/user/oms/redis/redis6379.log" #log 日志
dbfilename dump-6379.rdb #db名称
dir /app/user/oms/redis/data # 也可指定其他目录,前提要有当前用户权限
requirepass 123456 #连接密码
#master节点设置该属性后,所有redis节点均需配masterauth属性
masterauth 123456
bind b #bind 当前服务器 ip 地址
protected-mode no
slaveof b 6379 #master 节点标识
1.2.2 sentinel.conf (哨兵服务 sentinel)
port 26379 #端口
daemonize yes #后台运行
protected-mode no #关闭保护模式
pidfile /var/run/redis_26379.pid #pidfile
logfile "redis26379.log" #log 日志
dir /app/user/oms/redis/data
sentinel monitor mymaster a 6379 2 #监控地址,哨兵名称
sentinel auth-pass mymaster 123456 #认证密码,redis.conf 配置后需要配置
sentinel down-after-milliseconds mymaster 30000 #失效时间,30s
sentinel parallel-syncs mymaster 1 #
sentinel failover-timeout mymaster 180000 #
1.3启动redis服务
1.3.1执行启动命令
cd redis-5.0.5/src
./redis-server ../redis.conf >/dev/null 2>&1 &
1.3.2验证主从关系
cd redis-5.0.5/src
./redis-cli -h a -p 6379 -a 123456 info replication
#-h 指定ip节点,-p 指定端口号,-a 指定认证密码
以下为master节点信息
正在上传…重新上传取消
以下为slave节点信息
正在上传…重新上传取消
1.4启动sentinel服务
1.4.1执行启动命令
哨兵模式不需要后台运行,默认后台运行
cd redis-5.0.5/src
./redis-sentinel ../sentinel.conf
1.4.2验证哨兵节点
cd redis-5.0.5/src
./redis-cli -h a -p 26379 info Sentinel
正在上传…重新上传取消
1.5验证高可用
验证场景
- 将master节点主进程杀掉,查看其它节点中一台是否可以切换到 master
- 重启该节点,查看是否由 master 切换到 slave
杀掉 master 节点 redis 服务,如下
正在上传…重新上传取消
查看其中一台机器redis服务由 slave 切换为 master (c),另外一台仍为 slave
正在上传…重新上传取消
正在上传…重新上传取消
重启该机器redis服务后,查看节点信息,由 master 切换为 slave(a)