Redis 5.0.8 主从+哨兵的搭建
时间:2022-07-23
本文章向大家介绍Redis 5.0.8 主从+哨兵的搭建,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
从今天开始开辟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
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法