搭建并使用redis哨兵模式
操作系统:CentOS8
Redis: 3.2.8
开发框架:springboot
二、安装redis
参考:https://my.oschina.net/u/3955185/blog/3226114
三、服务器说明
现搭建是使用两台redis服务器,其中一台是redis主+哨兵,另外一台是redis从+哨兵,如下。
192.168.1.100 (redis主)
192.168.1.101 (redis从)
192.168.1.100 (哨兵1)
192.168.1.101 (哨兵2)
四、搭建主从redis
4.1 设置从库的redis.conf配置
#指定主库的ip和端口号,slaveof <masterip> <masterport>
。
slaveof 192.168.1.100 6379
#如果主库有密码,指定主库的密码信息 ,masterauth <master-password>
。
masterauth "AA12345"
4.2 启动从库,查看redis从库是否搭建成功
[root@localhost ~]$ redis-cli -p 6380192.168.1.101:6380>info replication
# Replication
role:slave
master_host:192.168.1.100
master_port:6379
master_link_status:up
master_last_io_seconds_ago:6
master_sync_in_progress:0
slave_repl_offset:57
slave_priority:100
slave_read_only:1
connected_slaves:0
master_repl_offset:0
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0
五、哨兵配置
#哨兵端口号port 26379
#是否启用保护模式,如果启用,java程序可能存在无法访问哨兵的情况
protected-mode no
#是否后台运行哨兵
daemonize yes
#redis主库配置
sentinel monitor mymaster 192.168.1.100 6379 1
#如果主库有密码,需要设置主库密码 sentinel auth-pass <master-name> <password>
sentinel auth-pass mymaster “AA123456”
#日志文件位置
logfile "/data/redis/sentinellog/sentinel_26379.log"
六、启动哨兵
[root@localhost ~] cd /usr/local/bin[root@bin~] redis-sentinel /data/redis/sentinel.conf
[root@bin~] tail -f /data/redis/sentinellog/sentinel_26379.log
以上则启动哨兵完成
七、java程序配置,以spring boot为例
注:springboot加了哨兵的配置之后,原有的redis.host
,redis.port
已经不起作用。
但如果不使用springboot中默认的Redisconfig类的配置,自定义了Redisconfig.java,则用则定义的方式。
spring: redis:
sentinel:
master: mymaster
#哨兵配置
nodes: 192.168.1.100:26379,192.168.1.101:26379
password: AA123456
database: 0
timeout: 2000
#以下配置如果使用了上述的哨兵配置,则不起作用。
host: 192.168.1.100
port: 6379
如果其中客户端连接不上redis,或者哨兵,检查centos是否开启了防火墙。
参考:https://my.oschina.net/u/3955185/blog/3227899
以上是 搭建并使用redis哨兵模式 的全部内容, 来源链接: utcz.com/z/515316.html