首页 > 数据库 >在Windows环境下搭建Redis集群

在Windows环境下搭建Redis集群

时间:2023-04-13 19:33:08浏览次数:35  
标签:127.0 service Windows redis Redis 0.1 集群 -- slots

安装Redis

下载Windows版本Redis

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

我下载了当前最新版本:Redis-x64-3.0.504.zip

下载后,将文件解压到D:\Program_Files\redis\redis-cluster目录(目录可以自定义,路径上不要有空格

创建Redis集群节点

Redis集群至少需要6个节点,3主3从。主节点崩溃,从节点可以替补。

配置节点

在Windows环境下搭建Redis集群_redis

将redis.windows.conf文件拷贝6份(也可以拷贝redis.windows-server.conf),修改以下配置:

port 6380
cluster-enabled yes
cluster-config-file nodes-6380.conf
cluster-node-timeout 15000
appendonly yes
cluster-enabled yes
appendfilename "appendonly.6380.aof"
cluster-slave-validity-factor 10
cluster-migration-barrier 1
cluster-require-full-coverage yes

将节点安装成服务

执行以下命令:

redis-server --service-install conf/redis.windows.6380.conf --service-name redis6380 --loglevel verbose
redis-server --service-install conf/redis.windows.6381.conf --service-name redis6381 --loglevel verbose
redis-server --service-install conf/redis.windows.6382.conf --service-name redis6382 --loglevel verbose
redis-server --service-install conf/redis.windows.6383.conf --service-name redis6383 --loglevel verbose
redis-server --service-install conf/redis.windows.6384.conf --service-name redis6384 --loglevel verbose
redis-server --service-install conf/redis.windows.6385.conf --service-name redis6385 --loglevel verbose

服务停启命令:

redis-server --service-start --service-name redis6379
redis-server --service-stop --service-name redis6379

已完成服务注册:

在Windows环境下搭建Redis集群_redis_02

安装Ruby环境

下载Ruby

下载地址:https://rubyinstaller.org/downloads/

在Windows环境下搭建Redis集群_集群_03

双击文件,安装向导安装。

下载Ruby环境下Redis驱动

执行命令安装

gem install redis

手动下载后安装

下载链接:https://rubygems.org/gems/redis/versions

下载后执行以下命令

gem install --local path\to\redis-5.0.6.gem

两种方式,任选一种。

创建集群环境

下载redis-trib.rb脚本

下载地址:https://github.com/beebol/redis-trib.rb

将redis-trib.rb文件拷贝到redis目录。

在redis目录下执行命令:

redis-trib.rb create --replicas 1 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

--replicas 1表示每个master有一个slave节点。

创建集群前,不能设置redis密码

>>> Creating cluster
>>> Performing hash slots allocation on 6 nodes...
Using 3 masters:
127.0.0.1:6380
127.0.0.1:6381
127.0.0.1:6382
Adding replica 127.0.0.1:6383 to 127.0.0.1:6380
Adding replica 127.0.0.1:6384 to 127.0.0.1:6381
Adding replica 127.0.0.1:6385 to 127.0.0.1:6382
M: 93b13a53b9620fabe492d8f5c05364ab0b192484 127.0.0.1:6380
   slots:0-5460 (5461 slots) master
M: 950330db4bf66f5b01681bada6ab1c908b19c406 127.0.0.1:6381
   slots:5461-10922 (5462 slots) master
M: fb9c13ba71dce2bc7666abbb27b0c1fb24ee72b9 127.0.0.1:6382
   slots:10923-16383 (5461 slots) master
S: e817a18f604f5f235154f5ed8d7e74d0e855063d 127.0.0.1:6383
   replicates 93b13a53b9620fabe492d8f5c05364ab0b192484
S: 6a3f1b3ef5dd60dbdf74272d0bdc6cfd9758d2c4 127.0.0.1:6384
   replicates 950330db4bf66f5b01681bada6ab1c908b19c406
S: 0b9f327cba1640b90cbb8c08c3246807f6c01dc1 127.0.0.1:6385
   replicates fb9c13ba71dce2bc7666abbb27b0c1fb24ee72b9
Can I set the above configuration? (type 'yes' to accept): yes
>>> Nodes configuration updated
>>> Assign a different config epoch to each node
>>> Sending CLUSTER MEET messages to join the cluster
Waiting for the cluster to join.
>>> Performing Cluster Check (using node 127.0.0.1:6380)
M: 93b13a53b9620fabe492d8f5c05364ab0b192484 127.0.0.1:6380
   slots:0-5460 (5461 slots) master
M: 950330db4bf66f5b01681bada6ab1c908b19c406 127.0.0.1:6381
   slots:5461-10922 (5462 slots) master
M: fb9c13ba71dce2bc7666abbb27b0c1fb24ee72b9 127.0.0.1:6382
   slots:10923-16383 (5461 slots) master
M: e817a18f604f5f235154f5ed8d7e74d0e855063d 127.0.0.1:6383
   slots: (0 slots) master
   replicates 93b13a53b9620fabe492d8f5c05364ab0b192484
M: 6a3f1b3ef5dd60dbdf74272d0bdc6cfd9758d2c4 127.0.0.1:6384
   slots: (0 slots) master
   replicates 950330db4bf66f5b01681bada6ab1c908b19c406
M: 0b9f327cba1640b90cbb8c08c3246807f6c01dc1 127.0.0.1:6385
   slots: (0 slots) master
   replicates fb9c13ba71dce2bc7666abbb27b0c1fb24ee72b9
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.

主节点

从节点

槽位

6380

6383

0-5460

6381

6384

5461-10922

6382

6385

10923-16383

验证集群状态

D:\Program_Files\redis\redis-cluster\Redis-x64-3.0.504-6380>redis-cli.exe -c -p 6380
127.0.0.1:6380> cluster nodes
e817a18f604f5f235154f5ed8d7e74d0e855063d 127.0.0.1:6383 slave 93b13a53b9620fabe492d8f5c05364ab0b192484 0 1681382274070 4 connected
6a3f1b3ef5dd60dbdf74272d0bdc6cfd9758d2c4 127.0.0.1:6384 slave 950330db4bf66f5b01681bada6ab1c908b19c406 0 1681382276257 2 connected
0b9f327cba1640b90cbb8c08c3246807f6c01dc1 127.0.0.1:6385 slave fb9c13ba71dce2bc7666abbb27b0c1fb24ee72b9 0 1681382270794 6 connected
950330db4bf66f5b01681bada6ab1c908b19c406 127.0.0.1:6381 master - 0 1681382272981 2 connected 5461-10922
93b13a53b9620fabe492d8f5c05364ab0b192484 127.0.0.1:6380 myself,master - 0 0 1 connected 0-5460
fb9c13ba71dce2bc7666abbb27b0c1fb24ee72b9 127.0.0.1:6382 master - 0 1681382275165 3 connected 10923-16383

设置redis密码

停止全部redis节点,修改全部配置文件

requirepass 12345678
masterauth  12345678

完成后启动全部节点。

标签:127.0,service,Windows,redis,Redis,0.1,集群,--,slots
From: https://blog.51cto.com/u_15844016/6188320

相关文章

  • 【Docker】容器操作 mysql部署 redis部署 nginx部署 迁移与备份 Dockerfile
    目录上节回顾今日内容1容器操作2应用部署2.1mysql部署2.2redis2.3nginx3迁移与备份4Dockerfile练习上节回顾#1docker启动,停止,查看状态命令 systemctlstartdockersystemctlstopdockersystemctlstatusdockerdockerinfo#查看详情systemc......
  • Redis基础数据结构
    五种基础数据结构:string(字符串)、list(列表)、set(集合)、hash(集合)和set(有序集合)使用命令redis-cli即可连接使用go语言代码连接redis:import( "github.com/go-redis/redis")varc*redis.Clientfuncmain(){ c=redis.NewClient(&redis.Options{ Addr:......
  • 开源流媒体服务器ZLMediaKit在Windows上运行、配置、按需拉流拉取摄像头rtsp视频流)并
    场景目前市面上有很多开源的流媒体服务器解决方案,常见的有SRS、EasyDarwin、ZLMediaKit和Monibuca等。1、SRShttps://github.com/ossrs/srs2、EasyDarwinhttps://github.com/EasyDarwin/EasyDarwin3、Monibucahttps://github.com/Monibuca4、ZLMediaKithttps://github.co......
  • Windows 本地安装mysql8.0
    前言看了网上许多关于Windows本地安装mysql的很多教程,基本上大同小异。但是安装软件有时就可能因为一个细节安装失败。我也是综合了很多个教程才安装好的,所以本教程可能也不是普遍适合的。现我将自己本地安装的步骤总结如下,如有不对的地方,敬请大家批评指正!!!安装环境:win7/10一、......
  • 电动汽车集群优化matlab 采用matlab+yalmip编程,设置电动汽车3类需求方式,三类需求方式
    电动汽车集群优化matlab采用matlab+yalmip编程,设置电动汽车3类需求方式,三类需求方式映射着EV用户不同的需求偏好:第1类方式表示用户期望最小化充电时间;第2类方式表示用户期望降低并网费用且不额外增加储能电池损耗(储能电池放电将造成额外损耗);第3类方式表示用户期望最小化并......
  • redis-4-2,使用docker在同一台服务器配置redis主从复制
    拉取redis镜像dockerpullredis下载redis配置文件https://redis.io/docs/management/config/在这里面找到需要的版本的配置文件使用配置文件的时候可能会出错,从docker拉取下来的最新镜像是6.2.8版本的......
  • VSCode 在 windows 下默认添加 _WIN32 的问题
    现象在VSCode在windows下环境中使用时,会默认添加_WIN32,会出现查看代码时,出现错误提示,现象如下检测到#include错误。请更新includePath。已为此翻译单元(E:\JZ_Works\Project\STM32_ProductMonitor\application\main.c)禁用波形曲线。C/C++(1696)无法打开源文件"win......
  • windows上编写shell拷到linux执行报错
    1.最近随手在windows写了个自动安装docker的shell脚本,然后传到linux服务器执行竟然报以下错  2.进入vim查看突然看到下截图红色框地方 最后查阅资料发现,这个标志的产生原因是因为在windows下,文件的换行符是\r\n,而在linux下换行符是\n,所以,使用cat-Ainstall_docker.sh......
  • Windows远程连接工具有哪些
    Windows远程连接工具,一般称为远程桌面软件,更准确的叫远程访问软件或远程控制软件,可以让你从一台电脑远程控制另一台电脑。远程桌面软件允许您控制连接的计算机,就好像它就在您面前一样。远程桌面工具可用于技术支持、远程工作时访问公司网络以及与同事协作。远程桌面市场充斥着......
  • springboot学习之三(整个redis)
     springboot整合redis1.依赖<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency>2.配置#Redis配置spring.r......