导航:首页 > 程序命令 > redis哨兵命令

redis哨兵命令

发布时间:2023-08-19 16:28:52

1. Linux下安装配置redis详细教程,并配置哨兵模式

redis版本为redis-3.2.12,使用工具将安装包上传到data目录。

在data目录下创建文件夹redis,将redis安装在此目录。

第一步:解压

第二步:安装,PREFIX=/data/redis用来设置安装目录。

到此,redis已经安装完成,剩下就是配置和启动服务。

进入redis目录, 创建配置文件conf、日志logs、数据库mp、进程号pid四个目录,用来存放对应的文件,这四个目录也可以存放在其他文件夹,只要与配置文件中的配置一致即可,否则在启动服务时会报错。 其中bin目录就是redis安装成功后的一些命令文件。

redis服务配置一主二从,哨兵模式。注意:如果在实际开发中用不到哨兵模式,redis服务配置一主一从即可。

主Redis配置:redis_6379.conf

从Redis配置,redis_6380.conf和redis_6381.conf,与主Redis配置基本上一样,不一样的地方在于 端口、数据库、日志、pid文件名称 ,都以6380或6381为标志, 最重要的地方是建立主从关系和同步验证。

注意: 对只使用redis服务 ,只需要在主Redis里面配置requirepass,在从Redis里面配置masterauth,密码保持一致,密码尽可能复杂,以免被攻击破解。

注意: 对只使用redis服务 ,如果从Redis也有必要加入访问验证,也可以设置requirepass,而且密码可以与主Redis密码不同。

将配置文件放置到/data/redis/conf目录下,然后就可以启动服务了。

启动服务要按照主从顺序依次启动。

查看服务启动情况:

也可以通过查看日志文件来确认服务是否正常启动。

通过客户端登录Redis验证数据同步情况:

主Redis登录验证,设置数据:

从Redis登录,获取数据:从Redis并没有设置密码,所以无需验证就可以操作。

配置哨兵模式:

Redis Sentinel集群通常由3到5个节点组成,如果个别节点挂了,集群还可以正常运作。Sentinel负责监控Redis集群的 健康 情况。

如果主Redis挂掉,Sentinel集群会通过投票选择一个新的主Redis。 当原来的主Redis恢复时,它会被当做新的主Redis的从Redis重新加入Redis集群。

设置连接master和slave的密码,需要注意的是sentinel不能分别为master和slave设置不同的密码,因此master和slave的密码必须设置相同。也就是说主Redis和从Redis都必须设置requirepass和masterauth,而且密码必须相同。

sentinel.conf配置信息:

将该配置文件放置到/data/redis/conf目录下,启动sentinel服务:

验证sentinel是否起作用,可以手工shutdown掉主Redis。

这时从Redis想要访问主Redis同步数据就会提示错误信息:

sentinel在监测到主Redis宕机之后,通过选举,将一个从Redis选定为新的主Redis。通过查看sentinel日志可以发现,选定6380为新的主Redis,同时将另外两个Redis作为从Redis。

注意:选定6380为主Redis后,所有的配置文件都会被修改,主要是重新建立主从关系。

6379会新增:slaveof 127.0.0.1 6380

6380会删掉:slaveof 127.0.0.1 6379

6381会修改:slaveof 127.0.0.1 6380

由于6379服务已经关掉,所以虽然sentinel将6379作为6380的从服务,但是没有真正的建立。

重新启动6379服务,这时sentinel会重建建立一次主从关系:

2. Redis 学习总结(3) Redis 哨兵模式

在实际开发中不会仅仅部署一个 Redis 服务器,为了获得高可用,Redis 哨兵模式 则是高可用的一种选择。

本文先介绍下 哨兵模式,再介绍了如何在 springboot 项目中使用。

这意味着使用 Sentinel (哨兵模式),您可以创建一个 Redis 部署,它可抵抗某些类型的故障(进行故障迁移)而无需人工干预。

它有这些功能:

Sentinel 的分布式特性
Redis Sentinel 是一个分布式系统,多个 Sentinel 进程协同工作,有这些优势:

部署前需要了解:

三个节点的基本配置

法定人数和仲裁
在配置 哨兵模式时,要指定一个 quorum,它可理解为“法定人数”。
假设有3 个 哨兵,法定人数为2。那么:

哨兵和副本的自动发现
Sentinel 与其他 Sentinel 保持连接,以便相互检查彼此的可用性并交换消息。

但是,您不需要在您运行的每个 Sentinel 实例中配置其他 Sentinel 地址的列表,因为 Sentinel 使用 Redis 实例的 Pub/Sub 功能来发现正在监视相同主节点和副本的其他 Sentinel。

类似地,您不需要配置附加到主服务器的副本地址在哪里,因为 Sentinel 会通过查询 Redis 自动发现它们。

参考我的另一篇文章:

一般需要三个节点,每个节点有一个 redis 和一个哨兵。

下面再分别描述。

我这里按三个 节点,先配置 redis 的主从复制。1个节点作为 master ,2个副本。

配置节点1:master
这里的 redis 作为 master 主redis,其他两个节点作为从节点。
我的文件夹名字叫 box1,这里编辑一个 box1/redis.conf 文件,主要配置内容如下:

配置节点2:副本
编辑一个 box2/redis.conf 文件,主要配置内容如下:

配置节点3:副本
编辑一个 box3/redis.conf 文件,主要配置内容如下:

分别启动这三个redis
命令行执行 redis-server ,并指定 配置文件的路径参数。

如何查看“主从复制”是否配置成功?
使用 info replication 命令,操作如下:

副本节点设置为只读?
从 Redis 2.6 开始,副本已被默认设置为 只读,无需额外配置。.

一般情况下,至少会需要三个哨兵对redis 进行监控,我们可以通过修改端口启动多个sentinel 服务。

第一个哨兵:
哨兵的 默认端口是 26379 ,这里不改。

第二个哨兵:
修改哨兵端口。

第三个哨兵:
修改哨兵端口。

启动哨兵
使用 redis-sentinel 命令,分别启动这三个哨兵

哨兵的自动发现
当三个哨兵都启动后,在各个哨兵的打印日志里可以看到, 三个哨兵已互相发现了彼此的存在 。

至此,配置完毕了,我们有三个 redis,和三个哨兵,看下截图。

模拟 master 宕机
按 ctrl+c 停止 master ,其位于 6379 。停止后,从日志可以看到,哨兵和 redis副本先努力继续连接 6379,反复几次失败后,开始选举出新的 master。截图如下:

至此,配置完毕。

我们看下 springboot 项目的客户端如何配置 以访问 哨兵模式的 redis。

Redis 哨兵支持
对于处理高可用Redis,Spring Data Redis 已经支持Redis Sentinel,使用RedisSentinelConfiguration,如下例所示:

Jedis 和 Lettuce 两种 redis 驱动都可以支持。

RedisSentinelConfiguration 也可以用可以 通过 PropertySource 来设置,它允许您设置以下属性:

配置application.yml

比如我这里修改我的 application.yml 文件如下:

我的配置文件示例: https://github.com/vir56k/java_demo/tree/master/redis-sentinel
我的 springboot 配置实例: https://github.com/vir56k/java_demo/tree/master/redis-sentinel/springboot_redis_demo

Redis官网 sentinel 介绍
https://redis.io/topics/sentinel

spring-data/data-redis
https://docs.spring.io/spring-data/data-redis/docs/current/reference/html/#redis:sentinel

https://www.cnblogs.com/jaycekon/p/6237562.html

END

阅读全文

与redis哨兵命令相关的资料

热点内容
cmd命令ip 浏览:946
python输出单引号双引号 浏览:272
脚本编程管理命令 浏览:379
小爱音箱pro怎么自己装app 浏览:118
建立ftp文件夹命令 浏览:570
sha1withrsa算法 浏览:453
域名交易系统源码php 浏览:171
求解微分方程数值解的命令有哪些 浏览:626
程序员转时尚传媒 浏览:82
古拳谱pdf 浏览:42
一元二次方程无实数根的算法 浏览:352
程序员测试轻松吗 浏览:170
英雄联盟神魔怎么绑定服务器 浏览:983
音乐app怎么换音质 浏览:975
python进阶客户流失 浏览:280
华为荣耀10服务器地址 浏览:999
javastring相等判断 浏览:413
程序员考研究生学校 浏览:935
java卡顿 浏览:500
编程软件怎么运行zip文件 浏览:506