一、集群知识

1.集群的概念

所谓的集群,就是通过添加服务器的数量,提供相同的服务,从而让服务器达到一个稳定、高效的状态。

2.使用redis集群的必要性

问题:我们已经部署好了redis,并且能启动一个redis,实现数据的读写,为什么还要学习redis集群?

答:(1)单个redis存在不稳定性。当redis服务宕机了,就没有可用的服务了。

(2)单个redis的读写能力是有限的。

总结:redis集群是为了强化redis的读写能力。

3.如何学习redis集群

说明:(1)redis集群中,每一个redis称之为一个节点。

(2)redis集群中,有两种类型的节点:主节点(master)、从节点(slave)。

(3)redis集群,是基于redis主从复制实现。

所以,学习redis集群,就是从学习redis主从复制模型开始的。

二、准备工作

Redis下载地址:https://github.com/MicrosoftArchive/redis/releases

Ruby语言运行环境下载:https://rubyinstaller.org/downloads/

Redis的Ruby驱动redis-xxxx.gem下载:https://rubygems.org/pages/download

创建Redis集群的工具redis-trib.rb:https://raw.githubusercontent.com/antirez/redis/unstable/src/redis-trib.rb

PS:以上所有工具关注最下方公众号,点击软件目录,可以直接下载百度网盘

三、安装配置Redis

1.下载Redis-x64-3.2.100.zip,点击下载Redis

要让集群正常运作至少需要3个主节点,建议配置3个主节点,其余3个作为各个主节点的从节点(也是官网推荐的模式)。

所以需要6台虚拟机,本文配置了6个节点,根据您的需求合理安排。

主节点崩溃,从节点的Redis就会提升为主节点,代替原来的主节点工作,崩溃的主Redis恢复工作后,会再成为从节点。

2.创建Redis集群目录,把 redis 解压后,再复制出 11份,配置 六主六从集群。 由于 redis 默认端口号为 6379,那么其它5份的端口可以为6380,6381,6382,6383,6384,6385,6386,6387,6388,6389,6390 并且把目录使用端口号命名,如下图示例:

3.修改配置文件,打开每个Redis目录下的文件 redis.windows.conf,修改里面的端口号分别对应相对应的文件夹名:6379、6380,6381,6382,6383,6384,6385,6386,6387,6388,6389,6390再修改集群支持配置,将以下配置前面的#去掉。

cluster-enabled yes

cluster-config-file nodes-6379.conf

cluster-node-timeout 15000appendonly yes

cluster-config-file nodes-6379.conf 是为该节点的配置信息,这里使用 nodes-端口.conf命名方法。服务启动后会在目录生成该文件。

4.编写启动脚本,或者进入每个端口命名的文件夹下启动服务,编写一个 bat 来启动 redis,在每个节点目录下建立 startup.bat,内容如下:

title redis-6379redis-server.exe redis.windows.conf

title命名规则 redis-相对应的端口。

四、安装Ruby

1. redis的集群使用  ruby脚本编写,所以系统需要有 Ruby 环境 ,点击下载Ruby 环境

2.下载成功后,点击安装,三个都要选上后下一步(安装位置不要使用中文)。

五、安装Redis的Ruby驱动redis-xxxx.gem

1.点击下载redis-xxxx.gem

2.下载成功后,解压当前目录切换到解压目录中,如C:\Users\fuzongle\Desktop\redis集群\redis-cluster\rubygems-3.1.4 然后命令行执行  ruby setup.rb,

再用 GEM 安装 Redis :切换到redis安装目录,需要在命令行中,执行 gem install redis

五 安装集群脚本redis-trib

1.点击下载redis-trib.rb,打开该链接把里面的脚本保存为redis-trib.rb,建议保存到一个Redis的目录下(不用每个都放),例如放到6379目录下。

redis-trib.rb集群的命令为  redis-trib.rb create --replicas 1 127.0.0.1:6379 127.0.0.1:6380 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6384 127.0.0.1:6385 127.0.0.1:6386 127.0.0.1:6387 127.0.0.1:6388 127.0.0.1:6389 127.0.0.1:6390

注意:--replicas 1 表示每个主数据库拥有从数据库个数为1。master节点不能少于3个,这里我使用了6个主节点,6个从节点

2.启动之后,可以看到主从库地址,点击yes,下次就不需要重新执行这个命令了,直接启动每个redis 即可。

六、连接集群测试

下载redis客户端连接即可

ps:如需了解工作原理可以看下这个挺好的:转载:https://www.cnblogs.com/mengchunchen/p/10059436.html

注意:

1.如果有任何不懂的地方可以关注公众号就可以加我微信,随时欢迎互相帮助。

2.技术交流群QQ:422167709。

3.如果希望学习更多,希望微信扫码,长按扫码,帮忙关注一下,举手之劳,当您无助的时候真的能帮你。非常感谢您关注公众号 "编程小乐"。

计算机集群搭建教程,Windows搭建Redis集群-详细教程相关推荐

  1. 带你搭建一下虚拟机和Redis集群,记得收藏

    前言: 我们看到分析 Redis 使用或原理的文章不少,但是完整搭建一套独立的 redis 集群环境的介绍,并不是很多或者说还不够详细. 那么,本文会手把手带着大家搭建一套 Redis 集群环境,Re ...

  2. 本地windows启动redis集群

    本地windows启动redis集群 前言 一. 场景描述 二.启动redis集群 1. 先启动6379端口的redis 2. 再启动3主3从的redis集群 3. 常见报错 3.1 有时候启动red ...

  3. windows的redis集群没有redis-trib.rb

    windows的redis集群没有redis-trib.rb redis版本高的问题. redis5已经不支持 edis-trib.rb 来创建集群. 应改为 原来的 redis-trib.rb cr ...

  4. docker redis 删除集群_基于Docker的Redis集群实践

    单机版的Redis相信大家都比较熟悉了,这里介绍几种Redis的集群模式,并结合Docker来进行实践操作 abstract.png 准备工作 通过Docker下载最新的Redis镜像 # 获取red ...

  5. python操作redis集群_python 连接管理作redis集群

    python的redis库是不支持集群操作的,推荐库:redis-py-cluster. 安装 pip3 install redis-py-cluster 连接redis集群 #!/usr/bin/e ...

  6. Adobe Photoshop修改中英文语言教程?ps中文版变为英文版详细教程

    Adobe Photoshop修改中英文语言教程?ps中文版变为英文版详细教程 有用户在使用Photoshop都会遇到需要更改软件语言的问题,例如动作插件,就要求在英文版本下的PS中使用,今天小编为大 ...

  7. Windows下Redis集群搭建(超详细教程)

    文章目录 一.Redis单机版安装 二.Redis集群的安装 1.构建集群节点目录 2.下载Ruby并安装 3.构建集群脚本redis-trib.rb 4.构建集群 三.将Redis注册生window ...

  8. Windows下Redis集群搭建

    上一篇文章中介绍了Windows下使用cygwin搭建redis单节点,这一篇文件将在上一篇文章的基础上搭建redis集群. 1. 在安装redis的目录的同级目录下新建6个文件夹,7000,7000 ...

  9. 搭建高可用的redis集群,避免standalone模式带给你的苦难

    现在项目上用redis的话,很少说不用集群的情况,毕竟如果生产上只有一台redis会有极大的风险,比如机器挂掉,或者内存爆掉,就比如我们生产环境 曾今也遭遇到这种情况,导致redis内存不够挂掉的情况 ...

最新文章

  1. Android强制设置横屏或竖屏
  2. java代码中fastjson生成字符串和解析字符串的方法和javascript文件中字符串和json数组之间的转换方法...
  3. mysql增加sort_buffer_设置sort_buffer_size
  4. hive选择mariadb还是mysql_Hive MariaDb的安装
  5. 5827. 检查操作是否合法
  6. HTML+CSS+JS实现 ❤️canvas圆形水波进度条动画特效❤️
  7. 将一个项目中的图片存到另一个项目中_头条号自动运营项目
  8. php 类定义抽象方法吗,如何理解php的抽象类跟抽象方法
  9. VMware View4.5相关组件的日志存放路径
  10. ORACLE 导入的问题
  11. 对象functionJavaScript: The Definitive Guide 权威指南,读书笔记(一)
  12. 气象要素色斑图的配色
  13. Python编写杨辉三角形
  14. labview与matlab接口,LabVIEW Comms与MATLAB®的互联接口
  15. HTML调用Discuz系统变量,Discuz论坛js调用详解
  16. vb.net打砖块游戏
  17. matlab非线性拟合算检验,matlab非线性拟合求参数怎样确定初始值
  18. 心里窝火无语的图片_无语的说说心情、图片【12句】
  19. SQL企业管理器打不开
  20. UltraLight 卡存储结构

热门文章

  1. shema SQLServer
  2. PyCharm vs VSCode 到底谁更牛?
  3. 普通程序员如何走出困境
  4. python图片显示文本框_Python3 tkinter基础 Text image 文本框中插入图片
  5. 晶体DSX321G被公认的车载晶振在无人货车上也将功能发挥的淋漓精致
  6. leetcode1438
  7. iOS 15.0+ 中 SwiftUI 顶部或底部悬浮功能小面板的极简实现
  8. Harry Potter and the Order of the Phoenix
  9. PolyLaneNet:基于深度多项式回归的车道估计(PolyLaneNet: Lane Estimation via Deep Polynomial Regression)
  10. 推荐11个值得关注的网络安全公众号(年度精选)