docker PXC MYSQL集群节点启动失败/节点顺序消失/只剩一个节点存在问题的解决

转载于:https://my.oschina.net/u/4884318/blog/4908669 大牛 佩服此人

 

 

 

 

 

截取本人遇到的问题:

“error:0407008A:rsa routines:RSA_padding_check_PKCS1_type_1:invalid padding”

当发现,节点无法连接后,这时就要查看日志

2021-01-14T09:02:35.487308Z 0 [ERROR] [MY-000000] [Galera] handshake with remote endpoint ssl://10.0.0.2:4567 failed: asio.ssl:67567754: 'invalid padding' ( 67567754: 'error:0407008A:rsa routines:RSA_padding_check_PKCS1_type_1:invalid padding')
This error is often caused by SSL issues. For more information, please see:
  https://per.co.na/pxc/encrypt_cluster_traffic
--------
    • 通过对 "ERROR" 信息的阅读
      建议阅读文章链接:https://per.co.na/pxc/encrypt_cluster_traffic
      于是在官方文档中注意到一个提示信息:
      •  
         
      • 知识点

        • 由于 PXC 在退出的时候会给集群中最后退出的那台打上标记,
          当集群重新启动的时候
          需要尽量先启动最后关闭的那台节点机器

        ★ 从节点宕机后的操作

      •  

        即,以 指定主节点 形式进入 PXC 集群创建的容器(理解起来即为【从节点】如:pn2、pn3)

        • 如果指定的【主节点】没有宕机
          直接 docker start [节点名],数据会自行同步
        • 如果指定的【主节点】没有启动
          那么要么先等【主节点】启动后,再执行 docker start [节点名]
          要么,就要考虑以作为主节点的形式进行启动

        ★ 主节点宕机后的操作

        即,以 自身为主节点 启动的容器(理解起来即为【主节点】,如 : pn1)

        此时,先要明确下,原来作为【主节点】的是不是最后一个离开集群的

        • [如果其他节点还在运行中]
          要先调整数据卷中 "grastate.dat" 文件的 safe_to_bootstrap 参数为 1
          执行启动命令:docker start [节点名]

          然后查看是否成功启动,并与其他节点数据同步(一般是不同步的)

          此时,可以删除自身容器 : docker stop [节点名]docker rm [节点名]
          原来的数据卷无需删(继续使用,避免数据丢失)
          然后再以从节点方式加入集群,注意参数 "-e CLUSTER_JOIN=pn2" 的指定(此时【pn2】未停止)

        • [如果是最后一个离开集群的]
          可直接进行启动:docker start [节点名]

        ★ 最坏情况,节点再创建一遍

        • 记不清之前的退出操作了,也懒得排查了
          先要保证不去删除 数据卷(避免数据丢失)
          然后,这时,试着将所有的节点都 stoprm 操作
          再从创建节点步骤开始,执行一遍!
posted @ 2021-04-09 21:42  余生请多指教ANT  阅读(1556)  评论(0编辑  收藏  举报