redis构建集群时,一直Waiting for the cluster to join
- 前置条件
- 参考
前置条件
这是我搭建的集群相关信息,三台虚拟机,分别是一主一从。在将所有虚拟机中redis服务器用到的tcp端口都打开之后,进行构建集群。但是出现上面的情况。
查阅redis的文档之后,在下面得知:
https://redis.ac.cn/docs/reference/cluster-spec/#the-cluster-bus
集群总线
每个 Redis 集群节点都有一个额外的 TCP 端口,用于接收来自其他 Redis 集群节点的传入连接。此端口将通过向数据端口添加 10000 来派生,或者可以通过 cluster-port 配置指定。
示例 1
如果 Redis 节点正在监听端口 6379 上的客户端连接,并且您未在 redis.conf 中添加 cluster-port 参数,则将打开集群总线端口 16379。
示例 2
如果 Redis 节点正在监听端口 6379 上的客户端连接,并且您在 redis.conf 中设置 cluster-port 20000,则将打开集群总线端口 20000。
节点间通信仅使用集群总线和集群总线协议:一种由不同类型和大小的帧组成的二进制协议。集群总线二进制协议未公开记录,因为它不适用于外部软件设备使用此协议与 Redis 集群节点通信。但是,您可以通过阅读 Redis 集群源代码中的 cluster.h 和 cluster.c 文件来获取有关集群总线协议的更多详细信息。
很明显,我只打开了数据端口6374 、6375等,还需要额外打开16374、 16375。
或者直接把防火墙关掉,包管用。
参考
https://redis.ac.cn/docs/reference/cluster-spec/#the-cluster-bus