redis 搭建(集群版本 哨兵模式)

1、redis 集群模式有三种 主从、哨兵、Cluster 集群
这次搭建的为哨兵模式。搭建哨兵模式前请先仔细阅读Redis搭建(单机版本)

2、使用虚拟机复制三个服务器节点, 首先在一台服务器安装好Redis 在复制 两个节点就好

3、 开始主从搭建 只需要修改slave节点的 redis.conf 配置文件即可

bind 当前服务器网卡ip (配置后不能通过127.0.0.0 客户端访问, 如须通过本地服务端访问将 bind 行注释掉即可)
replicaof  master节点ip  master节点端口
masterauth  master节点密码

4、 启动节点
连接主节点客户端 (此处注意 如果reids.conf 里面配置为本机网卡ip 则在当前服务器执行redis-cli 命令 会提示 连接被拒绝可以使用其他方式连接)
执行 info replication 命令

测试:0>info replication
"# Replication
role:master
connected_slaves:2
slave0:ip=192.168.31.162,port=6379,state=online,offset=1563,lag=0
slave1:ip=192.168.31.178,port=6379,state=online,offset=1563,lag=0
master_replid:4f4f734d74950d07662ad054501e39bdc18f8024
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:1563
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:1563
"

可以看到 role:master
连接 slave节点 同样执行 info replication 命令

slave-162:0>info replication
"# Replication
role:slave
master_host:192.168.31.197
master_port:6379
master_link_status:up
master_last_io_seconds_ago:10
master_sync_in_progress:0
slave_repl_offset:1815
slave_priority:100
slave_read_only:1
connected_slaves:0
master_replid:4f4f734d74950d07662ad054501e39bdc18f8024
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:1815
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:1815
"

可以看到 role: slave

在主服务器上添加一条数据,然后从服务器上是否能够查到该数据,
如果数据正常显示证明主从配置至此配置成功

5、 开始配置三个哨兵

修改 redis-sentinel.conf 配置文件

# 修改redis-sentinel配置文件:/redis-sentinel.conf
# 1. 绑定的地址 本机的网卡地址
bind 192.168.31.197
# 2. 保护模式修改为否,允许远程连接
protected-mode no
# 3. 设定sentinel myid 每个都不一样,使用yum安装的时候,直接就生成了
sentinel myid 04d9d3fef5508f60498ac014388571e719188527
# 4. 设定监控地址,为对应的主redis库的内网地址, 行尾最后的一个2代表当master挂掉时,集群中3个sentine(哨兵)都认为master挂了才能认为master 不可用,sentinel集群中各个sentinel通过gossip协议进行通讯
sentinel monitor mymaster 192.168.31.197 6379 2
# 5. 设定5秒内没有响应,说明服务器挂了,需要将配置放在sentinel monitor master 127.0.0.1 6379 1下面
sentinel down-after-milliseconds mymaster 5000
# 6. 设定10秒内master没有活起来,就重新选举主
sentinel failover-timeout mymaster 10000
# 7. 表示如果master重新选出来后,其它slave节点能同时并行从新master同步缓存的台数有多少个,显然该值越大,所有slave节点完成同步切换的整体速度越快,但如果此时正好有人在访问这些slave,可能造成读取失败,影响面会更广。最保定的设置为1,只同一时间,只能有一台干这件事,这样其它slave还能继续服务,但是所有slave全部完成缓存更新同步的进程将变慢。
sentinel parallel-syncs mymaster 1
# 8. 主数据库密码,需要将配置放在sentinel monitor master 127.0.0.1 6379 1下面
sentinel auth-pass mymaster 123456

6、启动哨兵

cd /usr/local/redis-6.0.10/src
./redis-sentinel /usr/local/redis-6.0.10/sentinel.conf 

启动成功后 进入客户端查看哨兵状态

[root@192 src] redis-cli -p 26379
sentinel197:0>info sentinel
"# Sentinel
sentinel_masters:1
sentinel_tilt:0
sentinel_running_scripts:0
sentinel_scripts_queue_length:0
sentinel_simulate_failure_flags:0
master0:name=mymaster,status=ok,address=192.168.31.162:6379,slaves=2,sentinels=3
"

可以看到当前主机ip 以及 从机和哨兵的数量

模拟主机宕机
关掉当前主机进程 因为这里我已经进行了切换
原来主机端口号为197
执行 info replication 命令

slave-162:0>info replication
"# Replication
role:master
connected_slaves:2
slave0:ip=192.168.31.178,port=6379,state=online,offset=280939,lag=0
slave1:ip=192.168.31.197,port=6379,state=online,offset=280939,lag=0
master_replid:cdd46dcfff565f63d02da705d3810eb867672fe5
master_replid2:4f4f734d74950d07662ad054501e39bdc18f8024
master_repl_offset:281225
second_repl_offset:128348
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:281225
"

可以看到我这里master 已经成功切换到了 162 的机器上

至此,哨兵 搭建完事

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值