集群(cluster)技术是一种较新的技术,通过集群技术,可以在付出较低成本的情况下获得在性能、可靠性、灵活性方面的相对较高的收益,其任务调度则是集群系统中的核心技术。
安装Redis并运行3个或3个以上实例,低于3个无法创建。
安装之前修改redis.windows.conf文件中配置:
1 cluster-enabled yes #是否开启集群 2 cluster-config-file nodes.6380.conf 3 cluster-node-timeout 15000 4 cluster-slave-validity-factor 10 5 cluster-migration-barrier 1 6 cluster-require-full-coverage yes
二、Ruby语言运行环境下路径(http://dl.bintray.com/oneclick/rubyinstaller/rubyinstaller-2.2.4-x64.exe)
下载后,双击安装即可,同样,为了操作方便,也是建议安装在盘符根目录下,如: C:Ruby23-x64 ,安装时这里选中后两个选项, 意思是将ruby添加到系统的环境变量中,在cmd命令中能直接使用ruby的命令
我操作的时候没有截图 下面部分图片 网上找的别的博客里面的图片
使用redis-trib.rb工具来创建Redis集群,由于该文件是Ruby语言写的,需要安装Ruby开发环境,以驱动redis-xxxx.gem。
三、驱动Redis.xxxx.gem(考虑到兼容性下载的3.2.2版本 https://rubygems.org/gems/redis/versions/3.2.2)
四、创建工具redis-trib.rb(https://raw.githubusercontent.com/MSOpenTech/redis/3.0/src/redis-trib.rb 打开该链接如果没有下载,而是打开一个页面,那么将该页面保存为redis-trib.rb, 建议保存到Redis的目录下)
注意:因为redis-trib.rb是ruby代码,必须用ruby来打开,若redis-trib.rb无法识别,需要手动选择该文件的打开方式:
**选择ruby为的打开方式后,redis-trib.rb的logo都会发生改变,如下图:
CMD下切换到Redis目录,使用redis-trib.rb来创建Redis集群:
redis-trib.rb create --replicas 1 127.0.0.1:7379 127.0.0.1:7380 127.0.0.1:7381 127.0.0.1:7382 127.0.0.1:7383 127.0.0.1:7384
#replicas 1 表示我们希望为集群中的每个主节点创建一个从节点 上述6个服务,是3主3从
我本地模拟是没有从全部是主 所以replicas 0
执行上述代码 出现如下错误提示:
解决方案:
#将每个节点下aof、rdb、nodes.conf本地备份文件删除;
127.0.0.1:7379> flushdb #清空当前数据库(可省略)
127.0.0.1:7380> flushdb #清空当前数据库(可省略)
127.0.0.1:7391> flushdb #清空当前数据库(可省略)
#之后再执行脚本,成功执行;
输入yes后如果出现下列情况
slot插槽被占用了(这是 搭建集群前时,以前redis的旧数据和配置信息没有清理干净。需要清除键值存储,用redis-cli 登录到每个节点执行 flushall 和 cluster reset 就可以了。
然后再次运行当出现提示时,需要手动输入yes,输入后,当出现以下内容,说明已经创建了Redis集群
系统会根据算法分配到redis中
检查是否创建成功,使用
redis-trib.rb check 127.0.0.1:7380
创建成功
通过 cluster info 查看集群信息
cluster info