在windows上搭建redis集群(redis-cluster)

一 所需软件:Redis、Ruby语言运行环境、Redis的Ruby驱动redis-xxxx.gem、创建Redis集群的工具redis-trib.rb


二 安装配置redis 

redis下载地址   https://github.com/MSOpenTech/redis/releases ;  下载Redis-x64-3.2.100.zip。

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

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

 

 打开目录6379下有一个文件 redis.windows.conf,修改里面的端口号,以及集群支持配置。

 

修改其他配置支持集群

cluster-enabled yes
cluster-config-file nodes-6379.conf
cluster-node-timeout 15000
appendonly yes
 1 port 6380       #端口号
 2 loglevel notice    #日志的记录级别,notice是适合生产环境的
 3 logfile "Logs/redis6380_log.txt"      #指定log的保持路径,默认是创建在Redis安装目录下,如果有子目录需要手动创建,如此处的Logs目录
 4 syslog-enabled yes                         #是否使用系统日志
 5 syslog-ident redis6380                   #在系统日志的标识名
 6 appendonly yes                              #数据的保存为aof格式
 7 appendfilename "appendonly.6380.aof"    #数据保存文件
 8 cluster-enabled yes                                    #是否开启集群
 9 cluster-config-file nodes.6380.conf
10 cluster-node-timeout 15000
11 cluster-slave-validity-factor 10
12 cluster-migration-barrier 1
13 cluster-require-full-coverage yes

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

 

编写一个 bat 来启动 redis,在每个节点目录下建立 start.bat,内容如下:

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

三 安装Ruby

redis的集群使用  ruby脚本编写,所以系统需要有 Ruby 环境 ,下载地址  https://dl.bintray.com/oneclick/rubyinstaller/rubyinstaller-2.2.6-x64.exe(此处的版本是2.2.6版本)

 

安装时3个选项都勾选。

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

下载地址 https://rubygems.org/rubygems/rubygems-2.6.12.zip, 下载后解压,当前目录切换到解压目录中,如 D:Program Files edis ubygems-2.6.12 然后在命令行执行  ruby setup.rb。

然后GEM 安装 Redis :切换到redis安装目录,需要在命令行中,执行 

gem install redis

 


五 安装集群脚本redis-trib

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

(或者:https://github.com/MicrosoftArchive/redis/releases

这个redis-trib.rb可以从对应版本的redis-XX.tar.gz中的src目录下获取

 打开该链接如果没有下载,而是打开一个页面,那么将该页面保存为redis-trib.rb,建议保存到一个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

--replicas 1 表示每个主数据库拥有从数据库个数为1。master节点不能少于3个,所以我们用了6个redis

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

把每个节点下的 start.bat双击启动, 在切换到redis目录在命令行中执行   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再运行。

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


在出现 Can I set the above configuration? (type 'yes' to accept):   请确定并输入 yes 。成功后的结果如下:

 

七测试

使用Redis客户端Redis-cli.exe来查看数据记录数,以及集群相关信息

命令 redis-cli –c –h ”地址” –p "端口号" ;  c 表示集群

 

输入dbsize查询 记录总数

 

输入cluster info可以从客户端的查看集群的信息


---------------------
作者:猪脚踏浪
来源:CSDN
原文:https://blog.csdn.net/zsg88/article/details/73715947
版权声明:本文为博主原创文章,转载请附上博文链接!

原文地址:https://www.cnblogs.com/tutubaobao/p/10482698.html