搭建并使用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 6380

192.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.hostredis.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

回到顶部