• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
天子笑
不要让贫穷限制了你的想法,不要让无知成为不可能的借口
博客园    首页    新随笔    联系   管理    订阅  订阅
Redis Cluster部署一直卡在Waiting for the cluster to join ......

1、问题现象

  线上部署一个40分片的Redis Cluster集群,初始化的时候日志输出一直是Waiting for the cluster to join ......(大集群初始化的时候会出现时间长)

2、问题分析

  1)集群各节点实例肯定是起来了,否则会报错某个节点不可连接(可以写个shell脚本判断一下服务状态验证)

  2)从日志上看是否有错误提示,查看redis server日志并没有明显错误

  3)搞清楚集群初始化做那些事儿,组成集群需要各个节点通信(集群总线端口)

  4)从命令结果提示入手排除解决

[ERR] Node 10.162.62.45:6007 is not empty. Either the node already knows other nodes (check with CLUSTER NODES) or contains some key in database 0.

  5)集群初始化的报错,就查看每个节点初始化的状态,如cluster nodes(cluster nodes |wc -l),写个简单的shell脚本统计每个节点的初始化状态

3、问题解决

  如果存在上述部分节点初始化状态不一致,则关闭这些节点(必须要清空缓存节点node信息),删除dump.rdb和nodes.conf文件(避免从磁盘重新加载),再启动实例,然后重新组成集群

  注意:并不是关闭集群中所有的实例,实际只用关闭加入集群的节点即可,不要浪费时间,每个节点是独立的master才是正常的

4、问题根因

  redis server启动需要开启客户端通讯端口和集群总线端口(客户端通讯端口+10000),如果集群总线端口未起来,集群初始化的时候部分节点成功,部分节点失败了(通信部分失败)

posted on 2023-03-01 10:20  天子笑  阅读(2751)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3