生成环境 官方集群
最后更新于:2022-04-02 04:00:54
[TOC]
> [参考](https://mp.weixin.qq.com/s?__biz=MjM5MjAwODM4MA==&mid=2650741531&idx=4&sn=fb831fa7da2e5c6b547c723ff1f38454&utm_source=tuicool&utm_medium=referral)
## 安装
复制整个 [redis](https://github.com/antirez/redis) 到 6个服务器 node文件夹中,设置6 个节点,3 主 3 从
## 启动
### 设置配置文件
设置每个节点下配置文件
修改每个节点内的 redis.conf 文件,设置 `cluster-enabled yes` 表示开启集群模式,并且修改各自的端口,我们继续使用 30001 到 30006,通过 port 3000X 设置
### 启动节点
```
cd node1
./src/redis-server redis.conf
```
### 创建集群并分配槽位
```
redis-cli --cluster create 127.0.0.1:30001 127.0.0.1:30002 127.0.0.1:30003 127.0.0.1:30004 127.0.0.1:30005 127.0.0.1:30006 --cluster-replicas 1
Can I set the above configuration? (type 'yes' to accept): yes
```
### 增加主节点
方式一:
```
127.0.0.1:30001> cluster meet 127.0.0.1 30007
```
方式二:
```
redis-cli --cluster add-node 127.0.0.1:30008 127.0.0.1:30001
```
### 添加从节点
```
127.0.0.1:30008> cluster replicate df0190853a53d8e078205d0e2fa56046f20362a7
OK
127.0.0.1:30008> cluster nodes
df0190853a53d8e078205d0e2fa56046f20362a7 127.0.0.1:30007@40007 master - 0 1585147827000 0 connected
abec9f98f9c01208ba77346959bc35e8e274b6a3 127.0.0.1:30005@40005 slave 887397e6
```
可以看出 30008 已经变为 30007 的从节点了。
### 删除 节点
```
127.0.0.1:30001> cluster nodes #查看节点 id
127.0.0.1:30001> cluster forget df0190853a53d8e078205d0e2fa56046f20362a7 #删除节点
```
## 连接集群
```
redis-cli -c -p 30001 # 连接到集群
127.0.0.1:30001> cluster info # 查看集群信息
cluster_state:ok # 状态正常
cluster_slots_assigned:16384 # 槽位数
cluster_slots_ok:16384 # 正常的槽位数
cluster_slots_pfail:0
cluster_slots_fail:0
cluster_known_nodes:6 # 集群的节点数
cluster_size:3 # 集群主节点数
````
';