Redis哨兵模式(一主二从三哨兵)

Redis主从模式和哨兵模式(一主二从三哨兵)

一、主从模式:

1、安装3台redis

192.168.130.1	主机
192.168.130.2	从机
192.168.130.3	从机

2、主从搭建:

进入redis安装目录下编辑redis.conf文件
主机配置:
	# 所有ip均可访问
	bind 0.0.0.0
	# 启动端口6379
	port 6379
	# redis进程是否以守护进程的方式运行,yes为是,no为否(不以守护进程的方式运行会占用一个终端)
	protected-mode no
	# 是否开启保护模式,默认开启。要是配置里没有指定bind和密码,开启该参数后,redis只会本地进行访问,拒绝外部访问。要是开启了密码和bind,可以开启。否则最好关闭设置为no
	daemonize yes
	# 日志
	logfile ./redis.log
	# 设置redis连接密码,如果配置了连接密码,客户端在连接redis是需要通过auth <password>命令提供密码,默认关闭
	requirepass 123456
	# 当master设置了密码保护时,slave服务连接master的密码(主从配置时,必须要设置此密码)
	masterauth 123456
从机配置:
	注意:老版本使用slaveof指定主机的IP和端口,新版本使用replicaof指定主机的IP和端口
	注意:由于搭建的集群需要自动容灾切换,主数据库可能会变成从数据库,所以三台机器上都需要同时设置 requirepass 和 masterauth 配置项
	
	bind 0.0.0.0
	port 6379
	protected-mode no
	daemonize yes
	logfile ./redis.log
	requirepass 123456
	masterauth 123456
	# 指定当本机为 slave 服务时,设置 master 服务的IP地址及端口,在 redis 启动的时候会自动跟 master 进行数据同步,所以两台从机同样配置。(主从配置时,必须要设置此密码)
	slaveof 192.168.130.1 6379 

3、设置防火墙,开放端口

查看防火墙是否开启:
systemctl status firewalld

开启防火墙:
systemctl start firewalld

开放端口:
firewall-cmd --add-port=6379/tcp --permanent --zone=public

#重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload

# 关闭防火墙
systemctl stop firewalld

4、数据验证:

登录redis
./redis -p 6379

查看搭建的机器信息
info replication

主机set key,从机只读,不能写入
set test test

从机查询key:
keys *
get key

若数据不同步,则检查以下:

1、端口是否开放
2、密码是否都配置,且密码是否正确
3、若检查完后依然数据不能同步,则关闭防火墙后,再次检查

二、哨兵模式:

1、哨兵模式搭建:

哨兵模式需要修改sentinel.conf文件,三台服务器均为此配置

# 端口默认为26379。
port 26379
# 关闭保护模式,可以外部访问。
protected-mode no
# 设置为后台启动。
daemonize yes
# 日志文件。
logfile ./sentinel.log
# 指定主机IP地址和端口(三台配置均为指定主机ip),并且指定当有2台哨兵认为主机宕机,则对主机进行容灾切换。mymaster:设置master名字,必须在其它有用到该名字的命令之前设置
sentinel monitor mymaster 192.168.130.1 6379 2
# 当在Redis实例中开启了requirepass,这里就需要提供密码。
sentinel auth-pass mymaster 123456
# 这里设置了主机多少秒无响应,则认为挂了。此处3秒
sentinel down-after-milliseconds mymaster 3000
# 主备切换时,最多有多少个slave同时对新的master进行同步,这里设置为默认的1。
snetinel parallel-syncs mymaster 1
# 故障转移的超时时间,这里设置为三分钟。
sentinel failover-timeout mymaster 180000

2、启动哨兵模式:

./redis-sentinel ../sentinel.conf

登录:
./redis-cli -p 26379

3、验证:

1、登录主机redis:./redis-cli -p 6379
2、手动下线:shutdown
3、若有新的主机被选举出,则表示成功

若验证不成功,则关闭防火墙后再次检查。

三、springboot配置:

redis:
	#单机配置
	#host: 192.168.43.188
	#port: 6379
	timeout: 6000
	password: 123456
	#哨兵增加的配置
	sentinel:
	  nodes: 192.168.130.1:26379,192.168.130.2:26379,192.168.130.3:26379
	  master: mymaster
	#lettuce连接池配置
	lettuce:
	  pool:
		max-active:  100 # 连接池最大连接数(使用负值表示没有限制)
		max-idle: 100 # 连接池中的最大空闲连接
		min-idle: 50 # 连接池中的最小空闲连接
		max-wait: 6000 # 连接池最大阻塞等待时间(使用负值表示没有限制
  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值