Windows的Redis集群搭建

  • 搭建
  • 1.下载安装Redis
  • 2.下载安装Ruby与rubygems
  • 3.下载redis-trib.rb
  • 4.创建6个redis实例
  • 5.运行6个redis实例
  • 6.创建集群
  • 7.测试
  • 总结


搭建

1.下载安装Redis

下载地址:https://redis.io/

2.下载安装Ruby与rubygems

1.Ruby

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

下载之后直接安装,中间会弹出终端界面,出现“If unsure press ENTER"之后按下回车键,等待加载完成后会弹出安装向导,一直安装直到完成即可

another redis desktop 集群 windows redis 集群_端口号


2.rubygems

下载地址:https://rubygems.org/pages/download

这是一个安装包文件,把它解压到一个文件夹中,在该文件夹中按住”Shift“键,右击打开终端,执行"ruby setup.rb"

3.下载redis-trib.rb

下载地址:https://github.com/beebol/redis-trib.rb
由于windows的版本低于5.0,不支持redis-cli命令部署集群,所以需要下载redis-trib.rb,把文件解压到一个文件夹中

4.创建6个redis实例

在redis-trib.rb的文件夹中创建6个redis实例(因为集群至少需要3对redis实例才可以搭建成功),也就是6个.conf文件,分别以7000.conf到7005.conf命名,在每个文件中放入以下内容:

port 7000  //绑定的端口号
bind 192.168.152.1  //自己机器的IP地址
daemonize yes  //后台运行
pidfile 7000.pid  //修改pid进程文件名,以端口号命名
cluster-enabled yes  //启用集群
cluster-config-file 7000_node.conf  //配置每个节点的配置文件,以端口号命名
cluster-node-timeout 15000  //配置集群节点的超时时间
appendonly yes  //启动AOF增量持久化策略

总结:每个文件的不同之处在于port、pidfile、cluster-config-file这三个地方,只需要修改端口号就好了
在windows上可以先新建txt文件,填入内容后再修改为conf文件

5.运行6个redis实例

在redis实例文件夹中打开终端,运行redis-server 7000.conf,需要运行哪个实例就把7000.conf改为对应的实例文件,运行成功后如下图,运行成功后不要关闭该终端(关闭终端实例就终止了),再到redis实例文件夹中打开另外一个终端,再运行一个实例,总共是需要打开6个终端运行6个实例

another redis desktop 集群 windows redis 集群_redis_02

6.创建集群

在redis-trib.rb所在的文件夹中打开终端,运行ruby redis-trib.rb create --replicas 1 ip:port ip:port ip:port …

ruby redis-trib.rb create --replicas 1 192.168.152.1:7000 192.168.152.1:7001 192.168.152.1:7002 192.168.152.1:7003 192.168.152.1:7004 192.168.152.1:7005

看见两个OK就代表运行成功了

another redis desktop 集群 windows redis 集群_redis_03

7.测试

运行以下代码,-c 代表的是集群,-h 代表的是ip地址,-p代表的是端口号

redis-cli.exe -c -h 192.168.152.1 -p 7000

先进入7000端口set aa 11,再exit到7001端口set bb 22,再get aa,会发现得到11,并且端口号自动切换到7000,这代表部署成功了

another redis desktop 集群 windows redis 集群_rubygems_04

总结

正常应该是在两台机器上进行部署的,一个主一个从,由于测试ubuntu与windows很久都没有成功,暂时还没有解决问题。所以先测试单独机器上是否可以成功,已经在ubuntu和windows上单独部署可以实现。下次再尝试两台一起,看看可以成功不。
看了很多大佬的文章才慢慢解决部署中遇到的问题,太难了,写个笔记,怕下次自己又忘了