在windows上搭建redis集群(Redis-Sentinel)
Redis集群策略主要有:
- 哨兵模式
- 主从复制(在windows上搭建redis集群(主从复制))
- 集群 (在windows上搭建redis集群(Redis-Cluster))
- 分片
本文主要讲解如何搭建哨兵模式。
**********************************************************************************************************************************************
采用一主(MASTER)二从(SLAVE)三哨兵(SENTINEL)的架构
**********************************************************************************************************************************************
一、下载安装Redis
redis下载地址
https://github.com/MicrosoftArchive/redis/releases
1)下载Redis-x64-3.2.100.zip。
2)解压文件,复制两份并重命名,形成三个文件夹:master_6379、salve_6380、slave_6381
二、配置文件
1)主从配置
1.1 master_6379文件夹中redis.windows.conf文件配置
port 6379
1.2 slave_6380文件夹中redis.windows.conf文件配置
port 6380
slaveof 127.0.0.1 6379
1.3 slave_6381文件夹中redis.windows.conf文件配置
port 6381
slaveof 127.0.0.1 6379
2)哨兵配置
每一个redis目录中都创建一个文sentinel.conf文件
2.1 master_6379的sentinel.conf文件配置如下
#当前Sentinel服务运行的端口
port 26379
#master
#Sentinel去监视一个名为mymaster的主redis实例,这个主实例的IP地址为本机地址127.0.0.1,端口号为6379,
#而将这个主实例判断为失效至少需要2个 Sentinel进程的同意,只要同意Sentinel的数量不达标,自动failover就不会执行
sentinel monitor mymaster 127.0.0.1 6379 1
#指定了Sentinel认为Redis实例已经失效所需的毫秒数。当 实例超过该时间没有返回PING,或者直接返回错误,那么Sentinel将这个实例标记为主观下线。
#只有一个 Sentinel进程将实例标记为主观下线并不一定会引起实例的自动故障迁移:只有在足够数量的Sentinel都将一个实例标记为主观下线之后,实例才会被标记为客观下线,这时自动故障迁移才会执行
sentinel down-after-milliseconds mymaster 5000
#指定了在执行故障转移时,最多可以有多少个从Redis实例在同步新的主实例,在从Redis实例较多的情况下这个数字越小,同步的时间越长,完成故障转移所需的时间就越长
sentinel config-epoch mymaster 12
#如果在该时间(ms)内未能完成failover操作,则认为该failover失败
sentinel leader-epoch mymaster 13
2.2 slave_6380中的sentinel.conf文件配置
#当前Sentine2服务运行的端口
port 26479
#slave1
sentinel monitor mymaster 127.0.0.1 6379 1
sentinel down-after-milliseconds mymaster 5000
sentinel config-epoch mymaster 12
sentinel leader-epoch mymaster 13
2.3 slave_6381中的sentinel.conf文件配置
#当前Sentine3服务运行的端口
port 26579
#slave2
sentinel monitor mymaster 127.0.0.1 6379 1
sentinel down-after-milliseconds mymaster 5000
sentinel config-epoch mymaster 12
sentinel leader-epoch mymaster 13
三、启动服务
1)编写启动redis脚本
编写一个 bat 来启动 redis,在每个节点目录下建立 startup.bat,内容如下:
title master_6379
redis-server.exe redis.windows.conf
编写一个 bat 来启动 sentinel,在每个节点目录下建立 startup_sentinel.bat,内容如下:
title master_6379
redis-server.exe sentinel.conf --sentinel
title命名规则 redis文件夹名, 注意“--sentinel”不是注释,必须存在。
另外启动sentinel还可以使用 redis-sentinel sentinel.conf 命令来启动
2)或者直接代码启动redis
启动redis成功:
master 6379
slave 6380
slave 6381
启动sentinel成功
sentinel 26379
sentinel 26479
sentinel 26579
四 测试服务
1) 查看redis服务状态,命令: info replication
master 6379
slave 6380
slave 6381
2)查看sentinel的状态,命令: info sentinel
3) redis主从自动failover测试
停止master服务器,查看剩余服务器的状态
slave 6380
slave 6381
从上图中可以看出来,master的服务器端口从6379变成了6380,也就是说redis自动的实现了主从切换,
我们可以在查看下sentinel的状态,如下:
我们发现sentinel监控到127.0.0.1:6379已经无法ping通了,切换master服务器为127.0.0.1:6380
在windows上搭建redis集群(Redis-Sentinel)相关推荐
- Windows下搭建Tomcat集群的配置详解
< Windows下搭建Tomcat集群基础入门详解 > 前言 在搭建 < Apache + Tomcat 实现Web服务器集群 > 前我们还需要实现 Tomcat集群实现Se ...
- windows下搭建mysql集群_Windows下搭建MySQL集群
本文将讨论在Windows下搭建MySQL集群的步骤和搭建过程中应当注意的问题. 由于机器数量和性能有限,搭建环境为一台宿主机(IP:10.200.178.191),一台虚拟机(IP:10.200.1 ...
- 微信公众号 多台服务器,在多台 Linux 服务器上搭建 Pulsar 集群
作者:高天赐 编辑:Irene Pulsar 是一个支持多租户的.高性能的消息中间件.上一篇我们介绍了如何在 Mac 上搭建 Pulsar 集群,本文详细介绍如何在 3 台 Linux 服务器上搭建 ...
- 玩转 Redis 集群之 Sentinel
Redis作为内存数据库,需要具备高可用的特点,不然如果服务器宕机,还在内存里的数据就会丢失.我们最常用的高可用方法就是搭建集群,master机器挂了,可以让slave机器顶上,继续提供服务.但是Re ...
- 玩转Redis集群之Sentinel
Redis作为内存数据库,需要具备高可用的特点,不然如果服务器宕机,还在内存里的数据就会丢失.我们最常用的高可用方法就是搭建集群,master机器挂了,可以让slave机器顶上,继续提供服务.但是Re ...
- 单机上搭建Node集群
搭建Node集群需要复制进程,而且通过主从模式并行处理业务.主进程不负责具体的业务处理,而是负责调度或管理工作进程,它是趋向于稳定的.工作进程负责具体的业务处理. 关于本 Node 进程的介绍请看No ...
- CentOS7上搭建Hadoop集群(入门级)
场景 Hadoop Apache Hadoop是一款支持数据密集型分布式应用并以Apache 2.0许可协议发布的开源软 件框架,支持在商品硬件构建的大型集群上运行应用程序.Hadoop是根据Goog ...
- 在Ubuntu18上搭建K8s集群(1.19.3)
环境准备 为了演示简单,准备两台4GB内存,20GB硬盘的虚拟机,操作系统为ubuntu18.04-server 角色 IP HostName Master 192.168.47.144 master ...
- CentOS 7 上搭建 ZooKeeper 集群
ZooKeeper 是什么? ZooKeeper 是分布式系统中的分布式协调服务,用于实现分布式同步,维护配置信息,分组和命名服务. 软件版本: CentOS 7.9 ZooKeeper 3.5.5 ...
- 在Hadoop集群上,搭建HBase集群
(1)下载Hbase包,并解压:这里下载的是0.98.4版本,对应的hadoop-1.2.1集群 (2)覆盖相关的包:在这个版本里,Hbase刚好和Hadoop集群完美配合,不需要进行覆盖. 不过这里 ...
最新文章
- 如何用ping来测试Azure虚机网络延迟的监测工作
- SharePoint服务器如果需要安装杀毒软件, 需要注意什么?
- Unity Shader基本例子
- 解释spring,struts,hibernate优缺点
- 消消乐实现下坠_JavaScript有多强大,实现消消乐小游戏
- php 100万数据,关于批量插入数据之我见(100万级别的数据,mysql)
- 【白皮书分享】智能文字识别(OCR)能力评测与应用白皮书.pdf(附下载链接)...
- LINUX C系统编程与PYTHON中的时间模块对比
- 小乌龟解决反向线上代码冲突
- C语言深入学习系列 - 字节对齐内存管理
- CSDN 支持的<markdown格式>表情包大全分享
- 手把手教你:CSS+JS 打造一个有个性的滚动条
- 动态规划法——常见题型及算法思路
- 如何加速香港主机运行系统
- 文科背景去德国学计算机,文科生留学德国的现状是怎样的
- 你了解这么多万兆以太网规范吗?
- Eclipse 导入工程乱码的问题之解决方法
- 【愚公系列】华为云轻应用之手把手教你用搭一个WeLink上的出差应用丨【AppCube X WeLink双剑合璧】
- 毕设题目:Matlab车道线检测
- 阿里云机器学习平台PAI的视频介绍(其中tensorflow高级教程有tf的代码优化讲解)