转载于: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 在退出的时候会给集群中最后退出的那台打上标记,
-
即,以 指定主节点 形式进入 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 [节点名]
★ 最坏情况,节点再创建一遍
- 记不清之前的退出操作了,也懒得排查了
先要保证不去删除 数据卷(避免数据丢失)
然后,这时,试着将所有的节点都stop
,rm
操作
再从创建节点步骤开始,执行一遍!
- 如果指定的【主节点】没有宕机
-