本次采用伪集群的搭建方式,三主三从 端口分别是7001~7006
动态扩容主机7007、7008
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/08ac10d99944898fffa242e0280f82c4.png#pic_center)
资源准备
- 下载安装资源
下载路径:http://www.redis.cn/download.html
这里使用的是5.0.5版本 - 安装
上传至指定服务器,解压。
安装目录/opt/redis-cluster/7001
#进入解压目录
cd /opt/redis/redis-5.0.5
#安装
make install PREFIX=/opt/redis-cluster/7001
-
修改配置文件
#复制redis配置文件 cp redis.conf /usr/local/redis-cluster/7001/bin cd /usr/local/redis-cluster/7001/bin
-
编辑redis 配置文件
vim redis.conf
port=7001 cluster-enable yes #注释掉这一行 #bind 127.0.0.1 daemonize yes
-
复制7001文件夹 7002~7006
cp -r 7001 /usr/local/redis-cluster/7002 cp -r 7001 /usr/local/redis-cluster/7003 cp -r 7001 /usr/local/redis-cluster/7004 cp -r 7001 /usr/local/redis-cluster/7005 cp -r 7001 /usr/local/redis-cluster/7006
复制完成后要注意修改端口
-
创建启动脚本 start_cluster.sh
./redis-server redis.conf cd .. cd .. cd 7002/bin ./redis-server redis.conf cd .. cd .. cd 7003/bin ./redis-server redis.conf cd .. cd .. cd 7004/bin ./redis-server redis.conf cd .. cd .. cd 7005/bin ./redis-server redis.conf cd .. cd .. cd 7006/bin ./redis-server redis.conf cd .. cd ..
-
修改权限
chmod u+x start_cluster.sh
-
启动 验证
-
集群创建
./redis-cli --cluster create 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 --cluster-replicas 1
###### --cluster-replicas 1 这里的1表示1个从机 复制的细节为前三台未主机,后三台为从机 7001~7003(主)、7004~7006(从)
以下是复制的详情以及槽位的分布详情,在启动时打印信息中会体现
[root@teacher1 bin]# ./redis-cli --cluster create 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 --cluster-replicas 1
>>> Performing hash slots allocation on 6 nodes...
Master[0] -> Slots 0 - 5460
Master[1] -> Slots 5461 - 10922
Master[2] -> Slots 10923 - 16383
Adding replica 127.0.0.1:7005 to 127.0.0.1:7001
Adding replica 127.0.0.1:7006 to 127.0.0.1:7002
Adding replica 127.0.0.1:7004 to 127.0.0.1:7003
启动完成,通过进入客户端,查看集群状态
./redis-cli -h 127.0.0.1 -p 7001 -c
-c表示以redis集群方式连接
#设置值 会提示本次数据存入哪个节点
-> Redirected to slot [12706] located at 127.0.0.1:7003
OK
127.0.0.1:7003>
- 查看集群状态
cluster info
- 查看集群节点
cluster nodes
节点扩容
- 创建新节点
创建7007 ,复制之前的集群节点配置
启动7007./redis-server redis.conf
- 添加至集群
./redis-cli --cluster add-node 127.0.0.1:7007 127.0.0.1:7001
添加完主节点(7007)需要对主节点进行hash槽分配,这样该主节才可以存储数据。
- 分配槽位
./redis-cli --cluster reshard 127.0.0.1:7007
- 增加从节点7008
同之前操作类似,复制新节点7008 ,将7008作为7007的从结点
./redis-cli --cluster add-node 新节点的ip和端口 旧节点ip和端口 --cluster-slave -- cluster-master-id 主节点id
- 结果验证
连接任意节点./redis-cli -h 127.0.0.1 -p 7001 -c
使用cluster nodes
命令查看详情
127.0.0.1:7001> cluster nodes