一文搞定windows下redis的集群搭建(三主三从)_windows redis集群搭建-程序员宅基地

技术标签: 数据库  windows  集群搭建  redis  ruby  

总体概述

1.Redis (安装Redis并运行3个实例,Redis集群需要至少3个以上节点,低于3个无法创建);
2.Ruby语言运行环境
3.Redis的Ruby驱动redis-xxxx.gem
4.创建Redis集群的工具redis-trib.rb

一.安装并搭建集群

1.下载redis对应版本(版本必需要3.0以上)

下载地址: https://github.com/MSOpenTech/redis/releases 下载ZIP压缩格式文件,并解压在硬盘中相应位置(这里可以在任意硬盘根目录下创建一个名为Redis的目录,并解压到此文件夹中)

2.下载并安装Ruby语言环境

下载地址: https://rubyinstaller.org/downloads/
在这里插入图片描述如果你的电脑是64位,选择x64下载;否则,32位选择x86下载。这里选择倒数第二个下载(hhh~江湖传说一般最新版本可能不稳定)

下载完成后,打开文件,启动 Ruby 安装向导。
点击 Next,继续向导,记得勾选 Add Ruby executables to your PATH,直到 Ruby 安装程序完成 Ruby 安装为止。
在这里插入图片描述

如果您的安装没有适当地配置环境变量,接下来您可能需要进行环境变量的配置,这里不做叙述。

3.下载ruby环境下Redis的驱动

链接: https://rubygems.org/gems/redis/versions/4.6.0
在当前ruby目录下,打开cmd终端,输入gem install redis (下载的是最新版本)

路径:
在这里插入图片描述

执行结果:
在这里插入图片描述

4.在redis下创建模拟的主从服务器

在redis目录下建立7000-7005六个文件夹,将redis下面的文件复制到7000节点文件夹下面(其他的也是这样操作)
在这里插入图片描述

修改6个文件夹下redis.windows.conf 文件配置

先修改节点的端口号(其他节点文件夹也是)
!](https://img-blog.csdnimg.cn/fbc209a052e047a28e00d8c12ce18cb9.png)

如果cluster-enabled 不为yes, 那么在使用JedisCluster集群代码获取的时候,会报错。
cluster-node-timeout 调整为 15000,那么在创建集群的时候,不会超时。
cluster-config-file nodes-6379.conf 是为该节点的配置信息,这里使用 nodes-端口.conf命名方法。服务启动后会在目录生成该文件。

在这里插入图片描述

5.下载Redis官方提供的创建Redis集群的ruby脚本文件redis-trib.rb

链接: https://raw.githubusercontent.com/antirez/redis/unstable/src/redis-trib.rb 若打不开就多试几次,若打开后是个网页,则在redis中创建一个文本文件,将页面内容复制到文本中,并修改文件名和格式如下述所示,文件格式最终为Ruby文件。

另附ruby脚本文件redis-trib.rb的地址,请参考链接:https://pan.baidu.com/s/1jlmL1fsspNgBjlrj9czMkQ
提取码:AXZ8
在这里插入图片描述

6.在redis目录下打开cmd终端,执行:redis-server.exe redis.windows.conf

在这里插入图片描述

7.分别打开7000-7005服务器

这里以一个服务器操作为例,其余端口号为对应各自节点

在7000目录下打开cmd窗口执行命令:redis-server.exe redis.windows.conf

在这里插入图片描述

分别在7001,7002,7003,7004,7005目录上打开cmd并执行上述操作

8.再次在redis目录打开cmd终端

执行:ruby redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005
在这里插入图片描述

三主三从集群搭建成功!

二.集群搭建过程中可能出现的问题

异常:Node 127.0.0.1:7000 is not empty. Either the node already knows other nodes (check with CLUSTER NODES) or contains some key in database 0.

问题描述:导致异常的主要原因是该节点中默认生成的配置或历史存储数据不一致导致的。

可能出现的错误原因:这里由于在构建集群时,先启动了7000-7005节点的,之后启动了redis服务,启动先后顺序发生了问题,导致Node xxx is not empty

dump.rdb是由Redis服务器自动生成的 默认情况下 每隔一段时间redis服务器程序会自动对数据库做一次遍历,把内存快照写在一个叫做“dump.rdb”的文件里,这个持久化机制叫做SNAPSHOT。有了SNAPSHOT后,如果服务器宕机,重新启动redis服务器程序时redis会自动加载dump.rdb,将数据库状态恢复到上一次做SNAPSHOT时的状态。

== 解决方法:清除对应节点的dump.rdb、nodes.conf文件,重启之后即可。==

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_52323239/article/details/125235358

智能推荐

亚信安全火力全开猎捕“坏兔子”,全歼详解-程序员宅基地

文章浏览阅读77次。10月25日消息,10月24日,欧洲遭遇新一轮勒索病毒攻击,俄罗斯、乌克兰、土耳其、德国等国均受到影响,目前已经开始向美国扩散。该勒索病毒被命名为“Bad Rabbit”(中文译名:坏兔子),亚信安全将其检测为Ransom_BADRABBIT.SM和Ransom_BADRABBIT.SMA。该勒索软件将受害电脑的文件加密,让电脑无法使用,从而要求支付赎金。“坏兔子”勒索软件要求支付0.05比特..._kinsing如何防御

永磁同步电机谐波抑制算法(3)——基于比例积分谐振/PIR调节器的谐波电流抑制策略仿真及多同步旋转坐标系谐波抑制的改进_永磁同步电机比例谐振控制-程序员宅基地

文章浏览阅读1.1k次,点赞20次,收藏30次。再接着上期说到,由于逆变器死区效应、逆变器过调制以及永磁同步电机磁链的五七次谐波磁链等因素,会使得永磁同步电机的abc三相电流中存在5、7次谐波,d-q电流中存在六次谐波,影响电机性能。如下图所示,在死区时间为7.5us,控制周期为100us的情况(转速1200r/min,带5Nm负载)下的相电流波形。%开关周期%转速采样周期,在实际DSP系统中,Tspeed会小于TpwmPn = 4;%电机极对数%定子电感,采用隐极的,Ld=Lq=LsRs = 3;%定子电阻%永磁体磁链。_永磁同步电机比例谐振控制

所有Python程序员必须要学会的「日志」记录!_python 只享新建一个.log的文件-程序员宅基地

文章浏览阅读165次。写在之前在我们的现实生活中,「日志记录」其实是一件非常重要的事情,比如银行的转账记录,汽车的行车记录仪记录行驶过程中的一切,如果出现了什么问题,我们可以通过「日志记录」来搞清楚到底发生了什么事情。除了在生活中,在日常的系统开发以及调试等过程中,记录日志同样是一件很重要的事情。很多编程初学者并没有「记录日志」的习惯,认为记录日志是一件可有可无的事情,出现问题的时候只要使用 print 函数打..._python 只享新建一个.log的文件

JSP 只允许 GET、POST 或 HEAD。Jasper 还允许 OPTIONS-程序员宅基地

文章浏览阅读1k次,点赞3次,收藏2次。JSP页面报错:JSP 只允许 GET、POST 或 HEAD。Jasper 还允许 OPTIONS。解决方案如下:_jsp 只允许 get、post 或 head。jasper 还允许 options

面试常见问题之OWASP top10_owasp top 10面试题-程序员宅基地

文章浏览阅读1.9k次,点赞4次,收藏20次。最近找工作浏览时,发现好多安全渗透岗的工作要求中有提到熟悉OWASP top 10这点,特意上网搜了下发现有好多关于这方面介绍,因此总结了一下,同时也分享给大家。OWASP top 10是什么?首先介绍下OWASP,开放式Web应用程序安全项目(OWASP,Open Web Application Security Project)是一个非营利组织,不附属于任何企业或财团,它提供有关计算机和互..._owasp top 10面试题

浅析VO、DTO、DO、BO的概念、区别和用处_dto vo-程序员宅基地

文章浏览阅读3.6w次,点赞55次,收藏240次。一、概念VO (View Object),用于表示一个与前端进行交互的视图对象,它的作用是把某个指定页面(或组件)的所有数据封装起来。实际上,这里的 VO 只包含前端需要展示的数据,对于前端不需要的数据,比如数据创建和修改的时间等字段,出于减少传输数据量大小和保护数据库结构不外泄的目的,不应该在 VO 中体现出来。DTO(Data Transfer Object),用于表示一个数据传输对象,DTO 通常用于展示层(Controller)和服务层(Service)之间的数据传输对象。DTO 与 V_dto vo

随便推点

Android 电子签名-程序员宅基地

文章浏览阅读2k次。完成一个小功能。参考:https://www.jianshu.com/p/c4f017603413主要的绘制的代码来自于上面的dalao,效果还不错。看起来笔迹还是挺柔顺的。一开始,在画图以后不知道怎么把笔迹保存下来,View中的onDraw方法中自带canvas,又不能保存到bitmap中,卡了很久。后来换了一种思路,我可以把View保存下来啊,这样就很简单了。 ..._android 电子签名

TLS安全协议_tls在设计上需要遵照哪个协议-程序员宅基地

文章浏览阅读1.3k次,点赞11次,收藏6次。TLSSSL与TLSHTTPS中如何使用SSLTLS工作流程密码学基础伪随机数生成器消息认证码消息认证码使用步骤数字签名公钥密码证书密码学小结TLS 使用到的密码学技术SSL与TLSSSL:(Secure Socket Layer) 安全套接层,于 1994 年由网景公司设计,并于 1995 年发布了 3.0 版本TLS:(Transport Layer Security)传输层安全性协议,..._tls在设计上需要遵照哪个协议

jquery.editable-select.js使用文档-程序员宅基地

文章浏览阅读2.4k次。<select id="SCName" class="next-input-scnst" style="width: 200px;">  <option value="double">double</option>  <option value="precise">precise</option>  <option ..._jquery-editable-select.js

泽塔云:用超融合撑起软件定义数据中心的梦想-程序员宅基地

文章浏览阅读70次。20年前,来自硅谷的互联网公司建立了云计算基础架构的雏形,成为长达多年的全球IT领导者。在云计算应用盛行的今天,一批中国本土明星企业冉冉升起,ZETTAKIT泽塔云就是其中的佼佼者。 始于超融合 尽管已经过去快4年,但在公司成立之初,就以自研超融合系统一举拿下国家卫计委的项目,让泽塔云CTO明晨迄今记忆犹新。 2014年,超融合的概念才刚刚在国内落地,很多IT从业者甚至连超融..._泽塔云超融合控制节点双主如何处理

Simple Rtmp Server的安装与简单使用_rtmp-simple-server-程序员宅基地

文章浏览阅读3k次。Simple Rtmp Server是一个国人编写的开源的RTMP/HLS流媒体服务器. 功能与nginx-rtmp-module类似, 可以实现rtmp/hls的分发. 有关nginx-rtmp-module的可参照: http://blog.csdn.net/redstarofsleep/article/details/45092147 编译与安装过程十分的简单 _rtmp-simple-server

《现代API,通往架构师之门》总结之三:系统集成模式_《通往架构师之门》的具体内容的ppt文档-程序员宅基地

文章浏览阅读735次。目录1.系统集成模式的定义2.六大技术环节中系统集成模式的归类3.消息传递3.1.什么是消息传递3.2.消息传递的优点3.3.主题与队列在消息传递中的区别3.4.消息传递中存储-传送的细节4.消息服务器的容错性和高可用性5.分级式事件驱动架构(SEDA)6.消息搭桥1.系统集成模式的定义在系统集成中把经常重复遇到的一些具体问题经抽象之后得到的共同点..._《通往架构师之门》的具体内容的ppt文档

推荐文章

热门文章

相关标签