redis集群搭建(window)

一,准备工作
1,三台window虚拟机,我是用的vmware创建的,windows server 2016,做伪集群的话一台就够了。ip分别为:192.168.74.131,192.168.74.132,192.168.74.133。

2,redis安装包,下载地址:https://github.com/MSOpenTech/redis/releases
我下的是64位的,redis64-3.0.501.zip

3,ruby环境配置:
参照:https://www.runoob.com/ruby/ruby-installation-windows.html

4,安装redis的ruby驱动:
https://rubygems.org/rubygems/rubygems-3.1.4.zip
下载地址 https://rubygems.org/pages/download
下载后解压,当前目录切换到解压目录中,如 D:\tools\rubygems-2.6.12 然后在命令行执行
ruby setup.rb。
然后GEM 安装 Redis :切换到redis安装目录,需要在命令行中,执行
gem install redis

5,下载集群管理脚本:redis-trib.rb,ruby脚本文件
下载地址:https://github.com/beebol/redis-trib.rb

在这里插入图片描述

二,开始安装redis集群
1,解压redis到三台虚拟机,分别复制2份,其中133虚机上复制4份,留两份等会作集群新增删除节点用
在这里插入图片描述
192.168.74.131->6380,6381
192.168.74.132->6382,6383
192.168.74.133->6384,6385,6386,6387
对应每个redis包下的配置文件,redis.windows.conf,
修改配置:
cluster-enabled yes
cluster-config-file nodes-6379.conf
cluster-node-timeout 15000
appendonly yes
其中nodes-6379.conf,对应改端口

2,创建启动脚本,startup.bat,并双击启动
内容:redis-server.exe redis.windows.conf

3,在配置有ruby环境的本机或其中一台虚机上,把redis-trib.rb文件弄过去,在此目录下,执行集群创建命令:
redis-trib.rb create --replicas 1 192.168.74.131:6380 192.168.74.131:6381 192.168.74.132:6382 192.168.74.132:6383 192.168.74.133:6384 192.168.74.133:6385

显示这个就表示创建集群成功,查看集群状态:
连接其中一个节点:redis-cli -h 192.168.74.131 -p 6380
可以使用以下命令查看:
cluster info,查看集群信息
在这里插入图片描述
cluster nodes:查看集群各节点状态
在这里插入图片描述
4,测试,数据保存,查看

三,新增,删除节点

1,新增节点,使用192.168.74.133.6386
先启动该节点,然后还是在redis-trib.rb所在目录,执行命令:
redis-trib.rb add-node 192.168.33.133:6386 192.168.33.131:6380
第二个参数节点相当于介绍人的意思,拉人进群,所以肯定是已经启动并且加入集群了的会员

1.1 将该节点变成指定节点的slave,
找到指定master节点的id,比如:be5af77694ce7afe525bf23709b3fd0be54c8c86
进入该192.168.74.133:6386,使用命令:
cluster replicate be5af77694ce7afe525bf23709b3fd0be54c8c86

1.2 将该节点变成master
一般加入集群,默认为master,但没有哈希槽使用,所以就重新分配哈希槽,申请分配哈希槽
redis-trib.rb reshard 192.168.74.133 6386,回车之后会询问需要分配多少个槽位,比如输入1000,确定之后,
集群会做个计划,你再次确认之后就开始正式分配了。
分配完成之后,可以使用cluster nodes查看这个节点分配的槽位范围

2,删除节点
2.1,如果是从节点,直接删除就行了
redis-trib.rb del-node 192.168.74.144:6386 *****(节点id)
2.2,如果是master,先要把槽位移走
redis-trib.rb reshard 192.168.74.133:6386,
->这里会提示我们要移动多少个槽位
->输入1000,(比如该节点总共1000个槽位)
-> 会提示要接收这些槽位的节点id
->输入指定接收节点的id
->提示完成done,然后使用命令删除节点
->redis-trib.rb del-node 192.168.74.133:6380 888(节点id)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值