前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Redis 5.0.8 主从+哨兵的搭建

Redis 5.0.8 主从+哨兵的搭建

作者头像
bsbforever
发布2020-08-18 14:32:13
5250
发布2020-08-18 14:32:13
举报

从今天开始开辟Redis相关方面的东西

上一节说了如何安装和配置redis

还有主从如何搭建

这节内容为哨兵的相关内容

关于哨兵大家可自行在网上搜索其用途和工作原理

系统为 Redhat 7.4

数据库为 Redis 5.0.8

1. redis规划

IP地址

主机名

端口

配置及数据文件位置

角色

172.18.95.83

SYTEST1

6380

/home/redis

master

172.18.95.84

SYTEST2

6380

/home/redis

slave

172.18.95.85

SYTEST3

6380

/home/redis

slave

2. 哨兵规划

IP地址

主机名

端口

文件位置

172.18.95.83

SYTEST1

26380

/home/redis

172.18.95.84

SYTEST2

26380

/home/redis

172.18.95.85

SYTEST3

26380

/home/redis

3. 搭建3套redis和主从

首先我们根据以前的内容搭建3套redis

并全部启动

之后配置同步关系,即SYTEST3和SYTEST2同步SYTEST1

4.哨兵配置文件

接下来我们分别在/home/redis目录下建立哨兵配置文件

SYTEST1

$ cat /home/redis/sentinel_26380.conf
 daemonize yes
 port 26380
 bind 172.18.95.83  127.0.0.1
 logfile "/home/redis/sentinel_26380.log"
 dir "/home/redis"
 sentinel monitor master_name 172.18.95.83 6380 2
 sentinel down-after-milliseconds master_name  30000
 sentinel parallel-syncs master_name  1
 sentinel failover-timeout master_name  180000
 sentinel auth-pass master_name  123456

SYTEST2

$ cat /home/redis/sentinel_26380.conf
 daemonize yes
 port 26380
 bind 172.18.95.84  127.0.0.1
 logfile "/home/redis/sentinel_26380.log"
 dir "/home/redis"
 sentinel monitor master_name 172.18.95.83 6380 2
 sentinel down-after-milliseconds master_name 30000
 sentinel parallel-syncs master_name 1
 sentinel failover-timeout master_name 180000
 sentinel auth-pass master_name  123456

SYTEST3

$ cat /home/redis/sentinel_26380.conf
 daemonize yes
 port 26380
 bind 172.18.95.85  127.0.0.1
 logfile "/home/redis/sentinel_26380.log"
 dir "/home/redis"
 sentinel monitor master_name 172.18.95.83 6380 2
 sentinel down-after-milliseconds master_name 30000
 sentinel parallel-syncs master_name 1
 sentinel failover-timeout master_name 180000
 sentinel auth-pass master_name 123456
  • daemonize 后台运行
  • port 哨兵的监听端口,这里是26380,同样的一台机器可以启多个哨兵进程,但端口必须不一致
  • bind 哨兵绑定的IP地址,这里填写本地IP
  • logfile 哨兵的日志文件
  • dir 哨兵的工作目录
  • sentinel monitor 后第一个参数指定哨兵监控的master的名称,可根据应用名称来命令,之后跟的是redis主库的IP地址 ,后面是redis的端口,最后是哨兵进程的仲裁数,这里3台哨兵设为2,代表当掉一个哨兵进程不影响功能
  • sentinel down-after-milliseconds 代表哨兵判断主库主观下线需要的时间,为30s
  • parallel-syncs 代表failover时同时可以多少备库同步主库,这里是一台
  • failover-timeout 代表故障转移的超时时间为180s
  • auth-pass代表连接redis进程判断其存活时的密码

如无特殊要求,哨兵的配置文件只需更改如下内容

  • port 监听的端口 -- 第二行
  • bind绑定的地址 -- 第三行
  • master_name的值,根据应用来定,便于区分业务常见 -- 第四行
  • 主库的地址 -- 第四行
  • 哨兵仲裁节点的数量 -- 第四行
  • 一个哨兵可监控多套主从环境,只需在此加入最后五行内容,注意修改相关内容

5.启动主从和哨兵

按照如下顺序来启动哨兵

  • 启动主redis
  • 启动备redis
  • 启动所有哨兵(不分顺序)

启动redis

su - redis
redis-server /home/redis/redis_6380.conf

启动哨兵

su - redis
redis-sentinel /home/redis/sentinel_26380.conf

这里我们看到启动哨兵后自动在配置文件加入了一些内容

可以很容易的看到

  • 哨兵根据我们提供的主库找到另外两个从库
  • 同样也找到了另外两个哨兵进程
  • epoch为纪元,可以理解为切换一次+1,当前为0

6. 关闭主从和哨兵

  • 关闭所有哨兵(不分顺序)
  • 关闭从库
  • 关闭主库

7.连接哨兵

我们采取和连接redis一样的方式连接哨兵,只不过需要更改端口

su - redis
redis-cli -p 26380  -a 123456

同样我们可以使用info命令来查看哨兵状态

  • status 为ok
  • address为主redis的地址和端口
  • slaves代表主库的从库数量
  • sentinels代表有三个哨兵进程,注意非存货的数量,我们关闭一台哨兵这里仍显示3
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-07-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 宅必备 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. redis规划
  • 2. 哨兵规划
  • 3. 搭建3套redis和主从
  • 4.哨兵配置文件
  • 5.启动主从和哨兵
  • 6. 关闭主从和哨兵
  • 7.连接哨兵
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档