由于我们公司服务器买的是Windows的 要求搭redis集群(我是搞java的公司也没运维……不知道公司为啥用Windows系统),反正有这需求,我们就得来实现……以下是我的配置过程和redis集群的原理:
配置过程:
1.下载相关所需的文件:redis,ruby,以及ruby gems
下载地址如下:
redis(https://github.com/MSOpenTech/redis/releases) redis官网不支持Windows系统,只要github上分享了一个下载(3.0版本以后的才支 持集群功能)
ruby(http://rubyinstaller.org/downloads/) redis需要的rubby环境,下载之后进行安装
下载 64位的 RubyInstaller并安装
勾选下面三个不用配置环境变量
安装完之后 在cmd窗口输入 ruby -v 显示版本即安装成功;
rubby gems(https://rubygems.org/pages/download)下载zip 解压并运行 setup.rb文件;运行完之后同样在cmd 窗口执行 gem -v 显示版本即安装成功
redis集群是依赖ruby环境的,而ruby gems是ruby的管理工具。通过gem命令来安装相关redis依赖(中国用户安装源会出错,要切换源):
gem sources --remove https://rubygems.org/ 删掉原来的源
gem sources -a http://gems.ruby-china.org/ 添加新的源(之前用的淘宝源,但淘宝源好像不提供服务了)
gem sources -l 查看现有的源
gem install redis 安装redis依赖
2.下载好相关的环境和所需要的东西,接下来就该开始配置了(最好懂一些linux的基本命令,都在cmd下运行的)
redis集群如果要正常运行,至少需要三个主节点,因此创建6个节点,3个主、3个从。
创建文件夹 redis-cluster 并复制你的redis安装包,把里面的nodes.conf删除掉,并从原redis下拷贝redis-trib.rb,具体结构如下:
用记事本打开每个redis下的redis.windows.conf和redis.windows-service.conf修改以下配置:
以redis01文件为例
port 7001
cluster-enabled yes(将前面的#注释去掉)
依次将redis02,03到06修改配置。
启动这6个redis(进入到每个redis下执行命令:redis-server.exe redis.windows.conf,也可以把这段命令封装为一个.bat文件启动)
然后执行集群命令:redis-trib.rb create --replicas 1 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 127.0.0.1:7006(在redis-cluster目录下执行),接着输入yes。最后出现:[OK] All 16384 slots covered.即安装成功
3.验证:随意进到一个redis目录下,启动命令(-c为启动cluster的客户端s):
redis-cli -c -p 7001 redis 127.0.0.1:7001> set foo bar -> Redirected to slot [12182] located at 127.0.0.1:7003 OK