草庐IT

Master-Slave

全部标签

Redis Sentinel master 没有立即降级为 slave

我的架构包含三个Redis实例(一个主实例和两个从实例)和三个Sentinel实例。在它的前面有一个HaProxy。一切正常,直到主Redis实例出现故障。新的master由Sentinel正确选择。但是,旧的master(现已关闭)并未重新配置为slave。结果,当那个实例再次启动时,我在短时间内(大约11秒)有两个主人。在那之后,被提出的那个实例被适本地降级为奴隶。它不应该这样工作吗,当master宕机时,它会立即降级为slave吗?这样一来,再起来的时候,马上就是slave了。我知道(自Redis2.8起?)有CONFIGREWRITE功能,因此当Redis实例关闭时无法修改配置

redis - redis中如何保证master和slave之间的数据一致性

我制作了一个程序,可以根据某些规则将数字转换为一些序列号,并检查是否使用了序列号。我使用redis来做检查工作。首先,获取slave中的num1。当result不为nil时,表示序列号已被使用,返回'used'。其次,如果结果为nil,则在master中设置num1并返回“new”(一旦返回,nums表示“used”)问题是master在完成与slave的同步过程之前会崩溃,所以这个数字可能不在slave中。此时在slave中获取num1,它返回'new',但是使用了num1。redis中如何保证master和slave的数据一致性? 最佳答案

linux - 如何将 Redis master 同步到另一个独立的 Redis 实例?

我有一个主/从环境,我想(每天)与另一个独立的Redis实例同步。我知道我可以转储数据,将其传输到其他服务器而不是导入数据。有没有办法将数据从Redis流式传输到Redis? 最佳答案 您可以让您的实例成为您想要同步的Redis的从属。你不需要配置master。只需使用SLAVEOFhostport命令即可使您的实例成为您要同步的Redis的从站。同步完成后,使用SLAVEOFNOONE命令停止复制。 关于linux-如何将Redismaster同步到另一个独立的Redis实例?,我们在

Redis Cluster - Slave 不 FAILOVER

我已经创建了一个Redis集群,如下所示。xxx.xxx.xxx.195:9100xxx.xxx.xxx.196:9100xxx.xxx.xxx.197:9100xxx.xxx.xxx.195:9200xxx.xxx.xxx.196:9200xxx.xxx.xxx.197:9200我遇到过,当我同时停止作为集群主节点的2个Redis实例(xxx.xxx.xxx.196的2个实例)时,集群无法恢复,xxx.xxx.xxx.195:9100(Master)xxx.xxx.xxx.196:9100(Master)xxx.xxx.xxx.197:9100(Slave)xxx.xxx.xxx.1

redis - Redis复制中的master_replid2是什么意思?

我的系统上有1个Redis复制。上一次master_replid2是00000000000但几天后它现在是c673350b6868f3661bd1231ad1b5389310d0a201。我不知道为什么,我试图通过谷歌搜索但没有更多关于它的信息。谁能告诉我这是什么意思?我看了看这个网站,但运气不好:https://redis.io/commands/info请指教。提前致谢。 最佳答案 NotethattherearetwopotentiallyvalidreplicationIDs:theID1*andtheID2.TheID2h

docker - redis master 看不到 slave

我的redissentinel设置有问题,它有4个节点(1个主节点,3个从节点)。我已经修补了第一个从节点(docker版本从17.03.1-ce更改为17.12.0-ce)。我的问题是master不再将slavenode1带到成员池中。Slave(node1)info(Itrecognizedmasternode):$dockerexec-itredis-sentinelredis-cliinforeplication#Replicationrole:slavemaster_host:master_port:6379master_link_status:down主要信息:$docke

redis - 为什么我在 slave 的慢日志中看到 SET?

我的设置是Redis主从复制。我确信从属设备是只读的,因为当我连接到从属设备并尝试写入数据时,“(错误)READONLYYoucan'twriteagainstareadonlyslave.”被退回。但是,当我检查慢日志时,有SET命令,例如:127.0.0.1:6379>慢日志获取11)1)(整数)13602)(整数)15442766773)(整数)106534)1)"设置"2)“一些值(value)”谁能解释一下?提前致谢。 最佳答案 Redis副本正在重放从主服务器发送的命令,因此SET命令一定源自它。目前还不清楚为什么该命令

redis - 使用 Redis 集群自动故障转移到提升的 Redis Slave

配置:三个redis集群分区,跨三组一主一从。当Master宕机时,Lettuce会立即检测到中断并开始重试。但是,Lettuce没有检测到关联的slave已经将自己提升为master并继续使用无法访问并最终超时的旧master进行重试。尝试设置各种拓扑刷新选项无济于事。建议的解决方案:在第一次重试失败后(这是连续第二次重试失败),使用提供的任何节点的拓扑重新运行拓扑刷新(用于在初始化期间导出拓扑)(因为它们都有相同的拓扑信息)。这将重新建立与当前master的连接。然后在先前失败的分区上重试失败的操作。 最佳答案 与RedisSe

redis - 从slave恢复redis数据到master

我需要不丢失redis上的任何数据并且它有很高的写入请求,所以我不能使用AOF持久化。RDB可以提供帮助,但可能会丢失上次备份的一些数据。现在我认为复制是备份,所以当主服务器崩溃、重启或其他任何事情时,我已经同步了从服务器中的数据并可以再次恢复它。现在有没有办法在崩溃时自动设置master为slave,slave为master,然后同步? 最佳答案 当您的应用程序知道MASTER已关闭时,应用程序应在SLAVE上发出以下命令:SLAVEOFNOONE上述命令将使SLAVE成为MASTER,您的应用程序现在可以继续将其用作MASTER

redis - 如何在sentinel配置中切换redis master

我有一个redis哨兵配置,其中有一个主站、两个从站和3个哨兵正在运行。我注意到,在某些时候,哨兵可能会切换主人,选择其中一个奴隶作为主人。这导致作为独立客户端连接到主节点的应用程序出现问题(我正在努力更改代码以使用哨兵)。我想知道是否可以通过连接到哨兵客户端来切换主服务器,即通过“redis-cli”有人可以告诉我是否有可以用来切换主IP的命令吗? 最佳答案 客户端应用程序应该使用支持sentinel的客户端库,以防redismaster宕机并且sentinel选择新的master。如果您的客户端应用程序没有利用它,不确定设置哨兵