品牌形象网站有哪些,兰州正规的装修公司,虚拟主机怎么做淘客网站,肇庆seo公司咨询23火星目录 第一章、主从复制模式1.1#xff09;Redis 主从复制模式介绍1.2#xff09;Redis 主从复制实现、 第二章、哨兵机制2.1#xff09;容灾处理之哨兵2.2#xff09;Sentinel 配置 第一章、主从复制模式
1.1#xff09;Redis 主从复制模式介绍
①单点故障#xff1a;数… 目录 第一章、主从复制模式1.1Redis 主从复制模式介绍1.2Redis 主从复制实现、 第二章、哨兵机制2.1容灾处理之哨兵2.2Sentinel 配置 第一章、主从复制模式
1.1Redis 主从复制模式介绍
①单点故障数据存储在一台服务器上服务器出现故障就会导致数据丢失。所以我们需要将数据复制多份部署在多台不同的服务器上在配置文件中指定这几台 redis 之间的主从关系。
②主从复制多台 redis 服务器的数据同步功能主服务器master负责写入数据同时把写入的数据实时同步到从slave 机器从服务器负责读 当 Master 服务出现故障需手动将 slave 中的一个提升为 master 剩下的 slave 挂至新的master 上冷处理机器挂掉了再处理
1.2Redis 主从复制实现、
修改配置文件启动时服务器读取配置文件并自动成为指定服务器的从服务器从而构成主从复制的关系 ①如果 Redis 启动先停止模拟多 Reids 服务器从原有的 redis.conf 配置文件中拷贝三份分别命名为 redis6380.conf, redis6382.conf , redis6384.conf ②编辑作为 Master 的配置文件 redis6380.conf : 在空文件加入如下内容
#包含原来的配置文件内容。/usr/local/redis-3.2.9/redis.conf 按照自己的目录设置。
include /usr/local/redis-3.2.9/redis.conf daemonize yes port 6380
pidfile /var/run/redis_6380.pid
logfile 6380.log
dbfilename dump6380.rdb 配置项说明 include 包含原来的配置文件内容。/usr/local/redis-3.2.9/redis.conf 按照自己的目录设置。 daemonizeyes 后台启动应用相当于 ./redis-server , 的作用。 port : 自定义的端口号 pidfile : 自定义的文件表示当前程序的 pid ,进程 id。 logfile日志文件名 dbfilename持久化的 rdb 文件 ③编辑作为 Slave服务器的配置文件redis6382.conf 和 redis6384.conf: 在空文件加入如下内容
#①redis6382.conf中加入
include /usr/local/redis-3.2.9/redis.conf daemonize yes port 6382
pidfile /var/run/redis_6382.pid
logfile 6382.log
dbfilename dump6382.rdb
slaveof 127.0.0.1 6380 #②redis6384.conf中加入
include /usr/local/redis-3.2.9/redis.conf daemonize yes port 6384
pidfile /var/run/redis_6384.pid
logfile 6384.log
bfilename dump6384.rdb
slaveof 127.0.0.1 6380 配置项说明 slaveof 表示当前 Redis 是谁的从。当前是 127.0.0.1 端口 6380 这个 Master 的从服务器。
④使用配置文件方式启动redis,并查看启动进程 ⑤使用指定端口连接 Redis 服务器查看配置后的服务信息
./redis-cli -p 端口查看6380端口的服务器信息
info replication 在新的 Xshell 窗口分别登录到 6382 6384 查看信息 ⑥向 Master 写入数据,先执行 flushall 清除数据避免干扰到测试数据。 生产环境谨慎使用。 ⑦在从服务器 Slave 读数据可以读主 Master 的数据不能写 Slave 写数据失败
第二章、哨兵机制
2.1容灾处理之哨兵
Sentinel 哨兵是 redis 官方提供的高可用方案监控多个 Redis 服务实例的运行情况。 Sentinel 系统是一个运行在特殊模式下的 Redis 服务器。Redis Sentinel 是在多个 Sentinel 进程环境下互相协作工作的。
Sentinel 系统有三个主要任务 ①监控Sentinel 不断的检查主服务和从服务器是否按照预期正常工作。 提醒被监控的 Redis 出现问题时Sentinel 会通知管理员或其他应用程序。 ②自动故障转移监控的主 Redis 不能正常工作Sentinel 会开始进行故障③迁移操作。将一个从服务器升级新的主服务器。 让其他从服务器挂到新的主服务器。同时向客户端提供新的主服务器地址。
2.2Sentinel 配置
①复制三份sentinel.conf文件 Sentinel系统默认 port 是26379 。三个配置port分别设置为 26380 , 26382 , 26384 。三个文件分别命名 sentinel26380.conf sentinel26382.conf sentinel26384.conf 执行复制命令 cp sentinel.conf xxx.conf ②三份 sentinel 配置文件修改 sentinel26380.conf 1、修改 port 2、修改监控的 master 地址 6382 sentinel26382.conf 文件同样修改 port 26382 master的port 6382 sentinel26384.conf 文件同样修改 port 26384 master的port 6382
③启动主从Master/SlaveRedis 启动 Reids 查看 Master 的配置信息连接到 6382 端口 使用 info 命令查看 Master/Slave ④启动 Sentinel模式下的Redis服务实例
在 XShell 开启三个窗口分别执行命令将创建三个监视主服务器的Sentinel实例 ./redis-sentinel …/sentinel26380.conf ./redis-sentinel …/sentinel26382.conf ./redis-sentinel …/sentinel26384.conf ⑤让主 Redis 不能工作
让 Master 的 Redis 停止服务 先执行 info replication 确认 Master 的 Redis 后再执行 shutdown 查看当前 Redis 的进程情况 ⑥Sentinel 的起作用
在 Master 执行 shutdown 后 稍微等一会 Sentinel 要进行投票计算从可用的 Slave 选举新的 Master。查看 Sentinel 日志。 查看新的 Master 查看原 Slave 的变化 ⑦新的 Redis 加入 Sentinel 系统自动加入 Master
重新启动 6382 查看 6384 的信息 测试数据在 Master 写入数据 在 6382 上读取数据不能写入
⑧监控 1Sentinel 会不断检查 Master 和 Slave 是否正常 2如果 Sentinel 挂了就无法监控所以需要多个哨兵组成 Sentinel 网络一个健康的 Sentinel 至少有 3 个 Sentinel 应用。 彼此在独立的物理机器或虚拟机。 3监控同一个 Master 的 Sentinel 会自动连接组成一个分布式的 Sentinel 网络互相通信并交换彼此关于被监控服务器的信息 4当一个 Sentinel 认为被监控的服务器已经下线时它会向网络中的其它 Sentinel 进行确认判断该服务器是否真的已经下线 5如果下线的服务器为主服务器那么 Sentinel 网络将对下线主服务器进行自动故障转移通过将下线主服务器的某个从服务器提升为新的主服务器并让其从服务器转移到新的主服务器下以此来让系统重新回到正常状态 6下线的旧主服务器重新上线Sentinel 会让它成为从挂到新的主服务器下