轉載於: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
操作
再從創建節點步驟開始,執行一遍!
- 如果指定的【主節點】沒有宕機
-