Spring Boot 整合Redis (二) Redis Cluster 集群环境搭建

官网Redis Cluster教程:https://redis.io/topics/cluster-tutorial

windows下Redis集群

window redis版本 3.2.100

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

1)解压

Spring Boot 整合Redis (二) Redis Cluster 集群环境搭建

若需要可去除redis的IP访问限制,打开redis.windows.conf。把bind 127.0.0.1注释掉,并且将protected-mode yes改为no

部署3个节点 (最小群集需要包含至少三个主节点

Spring Boot 整合Redis (二) Redis Cluster 集群环境搭建

为启动方便添加redis节点bat启动 

@echo off
title 6379
cd redis_6379
redis-server.exe redis.windows.conf

 

2)修改各个节点的redis.windows.conf,配置如下:

port 6379

cluster-enabled yes
cluster-config-file nodes-6379.conf
cluster-node-timeout 15000

appendonly yes

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

3)安装Ruby

下载地址 http://dl.bintray.com/oneclick/rubyinstaller/rubyinstaller-2.3.3-x64.exe

备用 https://pan.baidu.com/s/1_Ze3y--SdDdzBlvF_i1gtg 提取码: kkg2 

Spring Boot 整合Redis (二) Redis Cluster 集群环境搭建

4)安装Redis的Ruby驱动redis-xxx.gem

下载地址 https://rubygems.org/rubygems/rubygems-3.0.3.zip

备用 https://pan.baidu.com/s/19g7Fio64MHevpG0omFS-sg 提取码: yd3r

解压,到rubygems-3.0.3目录下,执行ruby setup.rb

Spring Boot 整合Redis (二) Redis Cluster 集群环境搭建

 切换到每个redis安装目录下,执行gem install redis

Spring Boot 整合Redis (二) Redis Cluster 集群环境搭建

 若安装失败,手动下载redis-xxx.gem文件

下载地址 https://rubygems.org/downloads/redis-3.2.1.gem

备用 https://pan.baidu.com/s/1r3os4yA510tYzxdoYyASgg 提取码: c6cz

Spring Boot 整合Redis (二) Redis Cluster 集群环境搭建

5)安装集群脚本redis-trib

下载liunx版redis-3.2.1源码,解压从src目录下取出redis-trib.rb文件

下载地址 http://download.redis.io/releases/redis-3.2.1.tar.gz

Spring Boot 整合Redis (二) Redis Cluster 集群环境搭建

 添加启动集群脚本

@echo off
title 启动集群
ruby redis-trib.rb create --replicas 0 127.0.0.1:6379 127.0.0.1:6380 127.0.0.1:6381
pause

 启动集群脚本

错误1:若出现以下情况,极有可能就是下载的redis-trib.rb版本不是3.2.1对应的版本

Spring Boot 整合Redis (二) Redis Cluster 集群环境搭建

截取官网的版本说明,redis cluster高版本和版本3或者4启动方式不一样

Spring Boot 整合Redis (二) Redis Cluster 集群环境搭建

错误2:若出现如下情况,解决方法是删除生成的配置文件nodes.conf,如果不行则说明现在创建的结点包括了旧集群的结点信息,需要删除redis的持久化文件后再重启redis,比如:appendonly.aofdump.rdb

Spring Boot 整合Redis (二) Redis Cluster 集群环境搭建

方便清除持久化文件,可创建bat脚本

@echo off
title 清空持久化文件
cd redis_6379
del nodes-6379.conf
del appendonly.aof
del dump.rdb
echo 6379清理完成
cd ../redis_6380
del nodes-6380.conf
del appendonly.aof
del dump.rdb
echo 6380清理完成
cd ../redis_6381
del nodes-6381.conf
del appendonly.aof
del dump.rdb
echo 6381清理完成
pause

正常启动情况如下: 

Spring Boot 整合Redis (二) Redis Cluster 集群环境搭建

输入:yes接受建议的配置

 Spring Boot 整合Redis (二) Redis Cluster 集群环境搭建

 可以看各个节点之间彼此通信

Spring Boot 整合Redis (二) Redis Cluster 集群环境搭建

6)测试 

Spring Boot 整合Redis (二) Redis Cluster 集群环境搭建

去6380上看下

Spring Boot 整合Redis (二) Redis Cluster 集群环境搭建

搭建成功