搭建redis-cluster集群及扩容记录
1. 修改配置 redis.conf,并准备7001-7008共8个实例
# 关闭保护模式
protected-mode no
# 开启cluster集群
cluster-enabled yes
# 后台运行
daemonize yes
# 没有注释的话就是只有本机才可以访问该redis实例,所以注释掉
# bind 127.0.0.1
# redis端口号,由于我是在一台机器上搭建,所以这里不同实例设置不同的端口号区分开来就可以了
port 7001
2. 启动7001-7008共8个实例
./redis-cli redis.conf
3. 创建cluster集群(7001-7006共6个节点,3主3从),并通过默认配置分配分区哈希槽
./redis-cli --cluster create 192.168.1.101:7001 192.168.1.101:7002 192.168.1.101:7003 192.168.1.101:7004 192.168.1.101:7005 192.168.1.101:7006 --cluster-replicas 1
此时redis-cluster搭建完毕,可以登录任意节点通过cluster nodes查看节点信息
4. 扩容(主节点)
4.1 把7007加入7001所在的cluster集群中
./redis-cli --cluster add-node 192.168.1.101:7007 192.168.1.101:7001
登录任意节点节点,通过cluster nodes命令可以看到7007已经加入集群中,但是未分配slot
4.2 给新节点分配槽,输入命令,并执行对应的配置命令
./redis-cli --cluster reshard 192.168.1.101:7007
How many slots do you want to move (from 1 to 16384)?
给新节点分配多少槽,这里我们填3000
What is the receiving node ID?
这里我们填刚刚通过cluster nodes命令看到的7007对应的id:7ae8865fbe3dffe71f2d6d19a47adbaf95c64881
Please enter all the source node IDs.
这里输入all
配置确认后,开始移动槽到目标结点id,完成主节点插入
5. 扩容(从节点)
添加从节点为7007的slaver
./redis-cli --cluster add-node 192.168.1.101:7008 192.168.1.101:7007 --cluster-slave --cluster-master-id 7ae8865fbe3dffe71f2d6d19a47adbaf95c64881
通过cluster nodes可以看到7008已经加入并作为7007的从节点