首页
学习
活动
专区
工具
TVP
发布

Redis - Keepalived + redis 切换

方案 硬件:server两台,分别用于master-redis及slave-redis 软件:redis、keepalived 实现目标: 由keepalived对外提供虚拟IP(VIP)进行...redis访问 主从redis正常工作,负责处理业务,从进行数据备份 当出现故障时,从切换为主,接替的业务进行工作 当恢复后,拷贝从的数据,恢复身份,从恢复从身份 数据采用aof方式进行持久化存储...当出现故障后能及时处理,切换从机提供业务。 2. 环境准备 利用虚拟机进行测试,安装ubuntu,安装完成后克隆ubuntu,利用两个虚拟机来构造服务器环境。...redis_check.py用于监控redis运行状态,反馈redis是否运行正常信息。...上述用到的所有keepalived配置文件及脚本: https://github.com/binchen-china/keepalived-redis 4. 热测试 1.

3.1K110

redis同步配置方法

配置 假设主机ip:10.136.16.146 port:6789 机ip:10.136.30.144 我们有两种方式为其配置备机 方法1:修改机配置文件 redis.conf中增加 daemonize...此时,我们的就已配好。数据会自动同步(包括主机之前的数据),如果之前主机中有数据,此时已可以在机中读取。...可以看到,主机上已连接一台备份redis,正是我们刚刚启动的那台。 方法2:动态修改机配置 当然,有时你可能没有权限修改redis配置文件或重启redis-server。...这时,如果你想配置,只需要连上redis,执行: slaveof 10.136.16.146 6789 #主机有密码,还要执行这条 #config set masterauth 同样可以达到配置的目的 2.取消 有两种方法取消息 1.

1K20
您找到你想要的搜索结果了吗?
是的
没有找到

分布式Redis复制复制流程断点续传

当数据落在不同节点上时,如何保证数据节点之间的一致性是非常关键的 Redis采用复制的方式保证一致性,所有节点中,只有一个节点为主节点(master),它对外提供写服务,然后异步的将数据复制到其他节点上...复制流程 Redis包含master 和slave 2种节点: master 对外提供写服务 slave 节点作为master的数据备份,不可以提供写服务 复制由master 主动触发 ?...这一步在slave启动后触发,master 被动的将新slave节点加入主复制集群 2、master收到SYNC后,开启BGSAVE 操作。...BGSAVE 是Redis的一种全量持久化机制(RDB) 3、BGSAVE完成后,master将快照信息发送给slave 4、发送期间,master收到来自Client的新写入命令,除了正常响应外,再存入一份到...Redis的 PSYNC(Partial Sync)可以用于代替SYNC,做到master-slave基于断点续传的同步协议。

1K20

Redis集群主缓存区满了导致频繁倒换

问题现象Redis 频繁进行倒换,通过查看实例的日志:redis.log发现下面报错:Client id=1317049445 addr=192.168.2.45:8004 fd=40 name=...; sdsfree(client); return; }单从代码来看,看不出啥,但是代码上面存在注释,我使用我那四级水平翻译了下,可以看出缓存区满了,于是可以想到可能同步的时候可能会限制缓存区大小...于是我又在redis.conf中找了缓冲区的相关配置,找到了下面是三个:client-output-buffer-limit normal 0 0 0client-output-buffer-limit...的缓冲区分为三个:普通客户端:normal同步:replica发布订阅:pubsubhard limit: 缓冲区大小的硬性限制。...因此我们可以将client-output-buffer-limit replica 256mb 64mb 60作出简单调整,重启Redis服务之后解决这个问题。

77160

Redis集群主缓存区满了导致频繁倒换

问题现象 Redis 频繁进行倒换,通过查看实例的日志:redis.log发现下面报错: Client id=1317049445 addr=192.168.2.45:8004 fd=40 name...sdsfree(client); return; } 单从代码来看,看不出啥,但是代码上面存在注释,我使用我那四级水平翻译了下,可以看出缓存区满了,于是可以想到可能同步的时候可能会限制缓存区大小...于是我又在redis.conf中找了缓冲区的相关配置,找到了下面是三个: client-output-buffer-limit normal 0 0 0 client-output-buffer-limit...的缓冲区分为三个: 普通客户端:normal 同步:replica 发布订阅:pubsub hard limit: 缓冲区大小的硬性限制。...因此我们可以将client-output-buffer-limit replica 256mb 64mb 60作出简单调整,重启Redis服务之后解决这个问题。

49930

Yarn ResourceManager 切换

状态的 ResourceManager 转成 StandBy 状态,原先处于 StandBy 状态的 ResourceManager 转成 Active 状态Yarn ResourceManager 切换.../ 持续切换可能影响:YARN 服务无响应作业无法提交无法查看当前任务状态处理建议:分析日志查看监控排查切换原因,分场景解决 场景1 新增或变革参数无效 YARN ResourceManager...日志搜索关键字 "Error" 或新变更参数,若存在则需要参考社区官网参数配置 场景2 RM多任务并发运行出现频繁切换 YARN ResourceManager的fullGC时间过长,RM与ZK...连接频繁超时导致RM频繁切换。...NM需要与RM响应任务状态,即定时心跳响应,当NM节点数量非常大且任务数量非常大会给Resourcemanager带来非常大的压力导致fullGC,fullGC过长引起RM与ZK的响应失败,从而出现频繁切换

2K60

PostgreSQL环境搭建

关于环境的搭建,我使用的基于流复制的方式搭建,这是在PG 9.0之后提供的对WAL传递日志的方法,是基于物理复制,在9.4开始有了逻辑解码,而细粒度的逻辑复制在PG 10中会有较大的改进。...2 3 配置主库 使用的环境是两台服务器 192.168.179.128 主库 192.168.253.134 库 1)创建一个复制角色 CREATE ROLE replica login replication...encrypted password 'replica'; 2)配置访问权限文件gp_hba.conf 添加一条记录,使得库可以访问,修改后需要重启 host replication replica...这个时候库上还没有初始化数据,我们模拟客户端的方式来访问,可能会有如下的错误。...max_standby_streaming_delay = 30 wal_receiver_status_interval = 1s hot_standby_feedback = on 4)启动PG

1.8K60

PostgreSQL流复制搭建

主从部署 Postgresql主从部署比较简单,首先你需要安装好主从两个实例,然后进行库配置,主要配置可以参考如下步骤: 主库配置: ①创建角色用于同步: create role replica login...主要分为以下几个流程: ①数据库启动,库启动walreceiver进程,wal进程向主库发送连接请求。...④主库进行lsn对比,定期向库发送心跳信息来确认库可用性,并且将没有传递的wal日志进行发送,同时调用SyncRepWaitForLSN()函数来获取锁存器,并且等待库响应,锁存器的释放时机和同步模式的选择有关...synchronous_standby_names='ANY 2 (s1,s2,s3)' 代表s1,s2,s3三个机中任意两个机返回主库就可以提交,基于quorum协议。...wal_keep_segments: 设置“pg_xlog”目录下保留事务日志文件的最小数目用于流复制,如果机停机时间过长导致主库xlog被删除,那么关系会失败,但是如果开启了归档,机可以从归档日志中继续恢复

2.7K10

简单的切换方案

切换是很多高可用性系统都必须解决的问题,方法有很多,象基于ZooKeeper的切换就是一个很好的选择。...在这里提供一种更简单但不完美的切换方法: 1) 假设A和B是集群中的主控(Master)节点 2) 1~7是工作节点(如HDFS中的DataNode) 3) 在每个工作节点上,都同时配置了A和B的IP...,而且是对等的,无主之分 所谓:是指提供服务的主控,而是指不提供服务的主控,当故障时,由接管其它服务,但因网络原因,可能主和都未故障,这个是解决切换的关键问题所在。...选择A或B作为主的过程: 1) 未连接之前,如图1所示,A和B都不是 2) 1~7随机选择连接到A或B 3) 这个时候可能会出现如图2所示的情况 4) (关键点)在指定的时间内(如1秒),不管是A还是...B,发现到自己的连接数小于50%(这个值可修改)就主动切断连接,这个时候会将本来和自己建立连接的节点赶往另一边 5) 当A或B发现到自己的连接数超过60%(这个值可修改)时,就认为自己是了,并保持连接

2.9K30

京东一面:MySQL 延迟有哪些坑?切换策略

此时会自动切换,进入 场景二 客户端读写,访问的是库(此时库升级为新主库) 看似天衣无缝,那是不是可以高枕无忧了呢???兄弟,想多了 切换,确实能满足高可用。...但有个前提,库的数据要同步。 不过,数据同步是个异步操作,不可能做到实时,所以说延迟是一定存在的 二、什么是延迟? 主库完成一个事务,写入binlog。...主要延迟花费在库执行binlog日志 三、延迟常见原因 1、库机器配置差 这个不难理解,“门当户对”、“志同道合”,如果机器的性能差别大,直接导致库的同步速度跟不上主库的生产节奏。...四、主库不可用,切换有哪些策略?...这个时间值取决于延迟的时间大小。 所以,我们应尽可能缩短库的延迟时间大小,这样一旦主库发生故障,库才会更快的同步完数据,切换才能完成,服务才能更快恢复。

1.7K20
领券