redis学习笔记三-------在windows上搭建redis集群(redis-cluster)

所需

1)redis
(2)Ruby语言运行环境
(3)Redis的Ruby驱动redis-xxxx.gem
(4)创建Redis集群的工具redis-trib.rb

一、配置redis

下载安装
https://blog.csdn.net/qq_22860341/article/details/77533372

下载一份redis,我这里使用3.2版本。

集群规划有三个节点的集群,每个节点有一主一备。需要6台虚拟机。

把 redis 解压后,再复制出 5 份,配置 三主三从集群。
由于 redis 默认端口号为 6379,那么其它5份的端口可以为6380,6381,6382,6383,6384。

并且把目录使用端口号命名:
redis学习笔记三-------在windows上搭建redis集群(redis-cluster)_第1张图片

打开每个文件夹,修改redis.windows.conf,修改里面的端口号,以及集群支持配置:

port XX   //改为对应的端口,对应每个文件夹名字最好
cluster-enabled yes
cluster-config-file nodes-6379.conf
cluster-node-timeout 15000
appendonly yes

以上6个文件夹都要改哦。

将6个redis注册为本地服务

cmd 切换到redis目录,

redis-server.exe --service-install redis.windows.conf --service-name redis6380 --port 6380

redis学习笔记三-------在windows上搭建redis集群(redis-cluster)_第2张图片

6个都要注册一次,修改端口和service-name就行,配置好了如下:

redis学习笔记三-------在windows上搭建redis集群(redis-cluster)_第3张图片


二安装Ruby

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

64位:

redis学习笔记三-------在windows上搭建redis集群(redis-cluster)_第4张图片

下载之后安装即可。

redis学习笔记三-------在windows上搭建redis集群(redis-cluster)_第5张图片

安装时3个选项都勾选

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

下载地址

https://rubygems.org/pages/download

下载后解压,当前目录切换到解压目录中(cmd命令)

比如我解压到D盘:

redis学习笔记三-------在windows上搭建redis集群(redis-cluster)_第6张图片

然后在命令行执行

 ruby setup.rb

然后GEM 安装 Redis :切换到redis安装目录(切换到6379端口的redis目录),需要在命令行中,执行 gem install redis

安装集群脚本redis-trib

下载地址 https://raw.githubusercontent.com/antirez/redis/unstable/src/redis-trib.rb

打开该链接如果没有下载,而是打开一个页面,那么将该页面保存为redis-trib.rb,建议保存到一个Redis的目录下,例如放到6379目录下。

启动每个节点并且执行集群构建脚本

把每个redis服务启动, 在切换到redis目录(6379端口目录)在命令行中执行

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

或者

ruby 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  

redis学习笔记三-------在windows上搭建redis集群(redis-cluster)_第7张图片

redis学习笔记三-------在windows上搭建redis集群(redis-cluster)_第8张图片

以前就可以了。

如果在最后一步出现以下错误:

redis学习笔记三-------在windows上搭建redis集群(redis-cluster)_第9张图片

槽4601被占用。

解决方案

在Redis集群中,清空各个节点上的数据(flushall命令),并执行cluster reset指令。

你可能感兴趣的:(redis)