Redis数据库 -- 集群 --添加新结点

在集群中添加新结点

我们先打开之前创建的6个结点 7001-7006。

添加新的节点的基本过程就是添加一个空的节点然后移动一些数据给它,有两种情况,添加一个主节点和添加一个从节点(添加从节点时需要将这个新的节点设置为集群中某个节点的复制)

在集群目录中新建两个目录:

mkdir 7007 7008
cp 7001/redis.conf 7007/       复制配置文件,更改其中的参数为7007
cp 7001/redis.conf 7008/		更改其中的参数为7008

在这里插入图片描述
此时8个结点都打开,现在我们把他们加入到结点中去。

redis-cli --cluster add-node 127.0.0.1:7007 127.0.0.1:7001         添加主节点
								新的结点			存在的结点

在这里插入图片描述
可见7007结点已经添加进去,并且它没有slave结点。并且没有哈希槽。
所以我们还需要给他添加一个slave结点,才能分配哈希槽。

redis-cli --cluster add-node 127.0.0.1:7008 127.0.0.1:7007 --cluster-slave --cluster-master-id f43ad5c680f1c87baea88ed6a15991d86aa67ca1

在这里插入图片描述
此时7007和708都加进去了但是仍然没有哈希槽,所以我们现在分配哈希槽给7007

redis-cli --cluster reshard 127.0.0.1:7007

在这里插入图片描述
先分配300个给7007的id,然后从所有结点中取300个,all代表从所有的里面取。
在这里插入图片描述
这里我们看到分配的哈希槽是非常不均匀,我们给4个结点均匀分配一下哈希槽:

redis-cli --cluster rebalance --cluster-use-empty-masters --cluster-threshold 1 127.0.0.1:7001
cluster-use-empty-masters   使用空master
threshold   起点

在这里插入图片描述
这样就均分了。每个4096个槽了。
在这里插入图片描述
数据就存到7007上了,因为槽在7007上。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章