六个节点三主三从Redis集群最简单搭建方法


背景

  • 一个服务器上面的三主三从的界面太low,容易出问题.
  • 为了验证高可用, 我这边使用六台机器进行了三主三从的搭建.
  • 模仿开源版的一键搭建集群的脚本进行使用,感觉非常简单,这里简单进行一下总结.

环境准备

  • 分发脚本以及环境基础准备
将前天编译好的Redis7.0.0的介质进行分发.
为了简单期间. 建议按照目录存放
二进制只需要redis-cli 以及 redis-server 即可.
├── src
│   ├── redis-benchmark
│   ├── redis-cli
│   ├── redis.conf
│   ├── redis-sentinel
│   └── redis-server
└── util
    └── cluster
        └── create-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

正常可用集群的举例

  • cluster nodes
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