复述,哨兵实现高可用配置?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
<强> 1,创建redis-sentinel_26379。相依,主要内容如下:强>
#基本配置 port 26379 daemonize 是的 logfile “,/var/log/复述/sentinel_26379.log" protected-mode 没有 dir /var/lib/redis-cluster/哨兵 #检查配置 sentinel monitor  mymaster 127.0.0.1 6379年,1,(指向主服务器或端口) # sentinel auth-pass mymaster  passwd sentinel parallel-syncs  mymaster 1 sentinel down-after-milliseconds  mymaster 5000年 sentinel failover-timeout  mymaster 18000
<强> 2,创建redis-sentinel_26380。相依,主要内容如下:强>
#基本配置 port 26380 daemonize 是的 logfile “,/var/log/复述/sentinel_26380.log" protected-mode 没有 dir /var/lib/redis-cluster/哨兵 #检查配置 sentinel monitor  mymaster 127.0.0.1 6379年,1,(指向主服务器或端口) # sentinel auth-pass mymaster  passwd sentinel parallel-syncs  mymaster 1 sentinel down-after-milliseconds  mymaster 5000年 sentinel failover-timeout  mymaster 18000
哨点监测的参数声明的含义如下所示:
哨点监测[master-group-name] (ip)(港口)(群体)
第一行用于告诉复述,监控一个主人叫做mymaster,它的地址在127.0.0.1,端口为6379年,法定人数是2,每个参数都很容易理解,但是法定人数需要解释一下:
1、法定人数是哨兵需要协商同意主是否可到达的数量。为了真正的标记奴隶为失败,并最终是否需要启动一个故障转移进程。
2,无论怎样,群体只用于检测故障。为了实际执行故障转移,哨兵需要选举领袖并进行授权。这只发生在大多数哨兵进程的选举。
<强>其他的选项通常是这种形式:强>
其他的选项通常是这种形式:哨兵[option_name] [master_name] [option_value]
1。down-after-milliseconds——一个实例不可到达(不能ping通或者有错误),哨兵开始认为它是向下的毫秒数。
2。parallel-syncs——设置在故障转移之后同时可以重新配置使用新主人的奴隶的数量。数字越低,更多的时间将会用故障转移完成,但是如果奴隶配置为服务旧数据,你可能不希望所有的奴隶同时重新同步主人。因为主从复制对奴隶是于非阻塞的,当停止从主加载批量数据时有一个片刻延迟。通过设置选项为1,确信每次只有一个奴隶是不可到达的。
<强> 3,创建复述-硕士- 6379。设计、主配置基本和默认文件没有差别,主要内容如下:强>
daemonize 是的 protected-mode 没有 port 6379 # requirepass “passwd" # masterauth “passwd"
<强> 4,创建复述-奴隶- 6380。相依,主要内容如下:强>
protected-mode 没有 port 6380 daemonize 是的 # requirepass “passwd" # masterauth “passwd" slaveof 127.0.0.1 6379
<强> 5,接下来就可以启动了。强>
cd /usr/sbin/#启动master 复述 redis-server /etc/redis-cluster/复述-硕士- 6379. - conf #启动slave 复述 redis-server /etc/redis-cluster/复述,-奴隶- 6380. - conf #启动redis-sentinel redis-sentinel /etc/redis-cluster/redis-sentinel_26379.conf redis-sentinel /etc/redis-cluster redis-sentinel_26380.conf
我们可以在/var/log/复述/sentinel_26379。日志目录下查看响应的日志。
<强> 6,弹簧引导集成redis-sentinel 强>
来单机的配置注释掉
# spring.redis.host=127.0.0.1 #,复述,服务器连接端口 # spring.redis。端口=6379
增加高可用配置
#哨兵监听redis 服务器名称 spring.redis.sentinel.master=mymaster #哨兵的配置列表 spring.redis.sentinel.nodes=127.0.0.1:26379 127.0.0.1:26380
代码中就可以在RedisUtils直接用了,如:
@ autowired private RedisTemplate  redisTemplate;
后面在控制器可以直接用RedisUtils定义的方法了