背景
- 一个服务器上面的三主三从的界面太low,容易出问题.
- 为了验证高可用, 我这边使用六台机器进行了三主三从的搭建.
- 模仿开源版的一键搭建集群的脚本进行使用,感觉非常简单,这里简单进行一下总结.
环境准备
将前天编译好的Redis7.0.0的介质进行分发.
为了简单期间. 建议按照目录存放
二进制只需要redis-cli 以及 redis-server 即可.
├── src
│ ├── redis-benchmark
│ ├── redis-cli
│ ├── redis.conf
│ ├── redis-sentinel
│ └── redis-server
└── util
└── cluster
└── create-cluster
注意要打开几个机器的针对端口的访问, 避免安全问题
获取创建集群的脚本
将 执行命令 修改为 echo "执行命令"
主要有两个, 一个是 start 命令 一个是 create 命令
简要将我这边获取的命令罗列如下:
# 启动redis
/redis_cluster/util/cluster/../../src//redis-server --port 30001 --protected-mode yes --cluster-enabled yes --cluster-config-file nodes-30001.conf --cluster-node-timeout 2000 --appendonly yes --appendfilename appendonly-30001.aof --appenddirname appendonlydir-30001 --dbfilename dump-30001.rdb --logfile 30001.log --daemonize yes --requirepass yourpassword --masterauth yourpassword
# 注意其实有六个 每个都是不同的 port端口好, 这里需要严格对应
# 注意其实会将log 以及 dump 和aof 文件放到 执行命令的目录, 这一块需要尤其注意.
# 注意其实脚本里面有 持久化参数等内容, 可以进行适当修改. 也可以进行优化.
#加入集群的命令
/redis_cluster/util/cluster/../../src//redis-cli --cluster create 10.110.82.176:30001 10.110.82.180:30002 10.110.82.181:30003 10.110.82.182:30004 10.110.82.183:30005 10.110.82.184:30006 -a yourpassword --cluster-replicas 1
# 注意一样的, 需要自己根据创建脚本的命令 修改IP地址. 在主节点执行命令即可. 就会创建.
创建集群
1. 需要先执行start 再执行 create
2. 注意自己执行start脚本时所在的路径, 不要弄错了.
3. 注意密码, 部分特殊字符可能比较麻烦, 可以设置负责的不带特殊字符 但是有大小写足够复杂的密码
4. 执行完可以进行验证
集群验证
登录集群
redis-cli -a yourpassword -h yournodeip -p 3000x -c
注意 -c 是 cluster 集群的含义 必须加 不然无法登录
查看集群创建
cluster info
查看集群节点
cluster nodes
增加节点
cluster meet
或者
cluster add-node
删除节点
cluster del-node
重新分配slot
cluster reshard
正常可用集群的举例
70039bb8c3fd38af6dd74bd9c6016b2951e6c0bc 10.110.82.181:30003@40003 master - 0 1651334337182 3 connected 10923-16383
bdf1075a3e473a8e3be761e1b9d3af544cde4e88 10.110.82.183:30005@40005 slave dc55e8019e9573c0efdd4f7f34f2058f1a6f4151 0 1651334337182 1 connected
7815e556a3e22396933fc878b6980ef1cefd4799 10.110.82.184:30006@40006 slave 9cc36ef9a5c61926438f37ebc209fe71c67a0abf 0 1651334337000 2 connected
dc55e8019e9573c0efdd4f7f34f2058f1a6f4151 10.110.82.176:30001@40001 myself,master - 0 1651334336000 1 connected 0-5460
d5829acc49c9feab419b5427086770cecad5d651 10.110.82.182:30004@40004 slave 70039bb8c3fd38af6dd74bd9c6016b2951e6c0bc 0 1651334337081 3 connected
9cc36ef9a5c61926438f37ebc209fe71c67a0abf 10.110.82.180:30002@40002 master - 0 1651334337182 2 connected 5461-10922