2017-03-26 21 views
1

TLを動作しません。DRPercona MySQLのxtradbクラスタが正常に起動しないと、ノードの再起動は

3つのkubernetesポッドの新鮮perconaクラスタを起動すると、 grastate.dat seq_no-1に設定しないされ

変化する。 1つのポッドを削除して再起動するのを見て、クラスタに再び参加することを期待すると、それは00000000-0000-0000-0000-000000000000:-1の初期位置に設定され、クラスタ内の最初のポッドだった可能性があります(以前のipです)。それは自分自身への誤接続だでその後タイムアウト:

2017-03-26T08:38:05.374058Z 0 [Note] WSREP: (b7571ff8, 'tcp://0.0.0.0:4567') connection to peer 00000000 with addr tcp://10.52.0.26:4567 timed out, no messages seen in PT3S 

クラスタが正しく起動されないと私は正常にクラスタ内のポッドを再起動することができませんでしだ。

私は最初からクラスタを起動します。空のデータディレクトリと新しいetcdクラスタでは、すべてが出てくるようです。しかし、私はgrastate.datを見て、私は、各ポッドのためseq_no-1であることを見つける:

[email protected]:/mnt/gfs/gluster_vol-1/mysql# cat percona-0/grastate.dat 
# GALERA saved state 
version: 2.1 
uuid: a91f70f2-11f8-11e7-8f3d-86c2e58790ac 
seqno: -1 
safe_to_bootstrap: 0 
[email protected]:/mnt/gfs/gluster_vol-1/mysql# cat percona-1/grastate.dat 
# GALERA saved state 
version: 2.1 
uuid: a91f70f2-11f8-11e7-8f3d-86c2e58790ac 
seqno: -1 
safe_to_bootstrap: 0 
[email protected]:/mnt/gfs/gluster_vol-1/mysql# cat percona-2/grastate.dat 
# GALERA saved state 
version: 2.1 
uuid: a91f70f2-11f8-11e7-8f3d-86c2e58790ac 
seqno: -1 
safe_to_bootstrap: 0 

私はmysql -h percona -u wordpress -pを行うと接続し、ワードプレスがあまりにも働くことができます。この時点で。

シナリオ: 私は3つのperconaポッド

/ # [email protected]:~/Projects/k8wp$ kubectl get pods 
NAME       READY  STATUS RESTARTS AGE 
etcd-0      1/1  Running 1   12h 
etcd-1      1/1  Running 0   12h 
etcd-2      1/1  Running 3   12h 
etcd-3      1/1  Running 1   12h 
percona-0     1/1  Running 0   8m 
percona-1     1/1  Running 0   57m 
percona-2     1/1  Running 0   57m 

私はそれを再起動するには、クラスタから追い出されますpercona-0を再起動しようとすると、percona-0のgvwstate.datファイルが

[email protected]:/mnt/gfs/gluster_vol-1/mysql# cat percona-0/gvwstate.dat 
my_uuid: b7571ff8-11f8-11e7-bd2d-8b50487e1523 
#vwbeg 
view_id: 3 b7571ff8-11f8-11e7-bd2d-8b50487e1523 3 
bootstrap: 0 
member: b7571ff8-11f8-11e7-bd2d-8b50487e1523 0 
member: bd05a643-11f8-11e7-9dab-1b4fc20eaf6a 0 
member: c33d6a73-11f8-11e7-9e86-fe1cf3d3367a 0 
#vwend 

を示しを持っていますクラスタ内の他の2つのポッドは、次のとおりです。

[email protected]:/mnt/gfs/gluster_vol-1/mysql# cat percona-1/gvwstate.dat 
my_uuid: bd05a643-11f8-11e7-9dab-1b4fc20eaf6a 
#vwbeg 
view_id: 3 bd05a643-11f8-11e7-9dab-1b4fc20eaf6a 4 
bootstrap: 0 
member: bd05a643-11f8-11e7-9dab-1b4fc20eaf6a 0 
member: c33d6a73-11f8-11e7-9e86-fe1cf3d3367a 0 
#vwend 
[email protected]:/mnt/gfs/gluster_vol-1/mysql# cat percona-2/gvwstate.dat 
my_uuid: c33d6a73-11f8-11e7-9e86-fe1cf3d3367a 
#vwbeg 
view_id: 3 bd05a643-11f8-11e7-9dab-1b4fc20eaf6a 4 
bootstrap: 0 
member: bd05a643-11f8-11e7-9dab-1b4fc20eaf6a 0 
member: c33d6a73-11f8-11e7-9e86-fe1cf3d3367a 0 
#vwend 

ここではar E Iはpercona-0の起動から関連エラーです何を考えて:

2017-03-26T08:37:58.370605Z 0 [Note] WSREP: Setting initial position to 00000000-0000-0000-0000-000000000000:-1 
2017-03-26T08:37:58.372537Z 0 [Note] WSREP: gcomm: connecting to group 'wordpress-001', peer '10.52.0.26:' 
2017-03-26T08:38:01.373345Z 0 [Note] WSREP: (b7571ff8, 'tcp://0.0.0.0:4567') connection to peer 00000000 with addr tcp://10.52.0.26:4567 timed out, no messages seen in PT3S 
2017-03-26T08:38:01.373682Z 0 [Warning] WSREP: no nodes coming from prim view, prim not possible 
2017-03-26T08:38:01.373750Z 0 [Note] WSREP: view(view_id(NON_PRIM,b7571ff8,5) memb { 
    b7571ff8,0 
} joined { 
} left { 
} partitioned { 
}) 
2017-03-26T08:38:01.373838Z 0 [Note] WSREP: gcomm: connected 
2017-03-26T08:38:01.373872Z 0 [Note] WSREP: Changing maximum packet size to 64500, resulting msg size: 32636 
2017-03-26T08:38:01.373987Z 0 [Note] WSREP: Shifting CLOSED -> OPEN (TO: 0) 
2017-03-26T08:38:01.374012Z 0 [Note] WSREP: Opened channel 'wordpress-001' 
2017-03-26T08:38:01.374108Z 0 [Note] WSREP: Waiting for SST to complete. 
2017-03-26T08:38:01.374417Z 0 [Note] WSREP: New COMPONENT: primary = no, bootstrap = no, my_idx = 0, memb_num = 1 
2017-03-26T08:38:01.374469Z 0 [Note] WSREP: Flow-control interval: [16, 16] 
2017-03-26T08:38:01.374491Z 0 [Note] WSREP: Received NON-PRIMARY. 
2017-03-26T08:38:01.374560Z 1 [Note] WSREP: New cluster view: global state: :-1, view# -1: non-Primary, number of nodes: 1, my index: 0, protocol version -1 

2017-03-26T08:37:58.372537Z 0 [Note] WSREP: gcomm: connecting to group 'wordpress-001', peer '10.52.0.26:'10.52.0.26に接続しようとする者のIPが実際にそれが以前のIPをポッドされ、ここで私はperconaを削除する前にやったetcdのキーのリストですpercona-0を再しようとした、再起動時にも

/ # etcdctl ls --recursive 
/pxc-cluster 
/pxc-cluster/queue 
/pxc-cluster/queue/wordpress 
/pxc-cluster/queue/wordpress-001 
/pxc-cluster/wordpress-001 
/pxc-cluster/wordpress-001/10.52.1.46 
/pxc-cluster/wordpress-001/10.52.1.46/ipaddr 
/pxc-cluster/wordpress-001/10.52.1.46/hostname 
/pxc-cluster/wordpress-001/10.52.2.33 
/pxc-cluster/wordpress-001/10.52.2.33/ipaddr 
/pxc-cluster/wordpress-001/10.52.2.33/hostname 
/pxc-cluster/wordpress 

:-0

/ # etcdctl ls --recursive 
/pxc-cluster 
/pxc-cluster/wordpress 
/pxc-cluster/queue 
/pxc-cluster/queue/wordpress 
/pxc-cluster/queue/wordpress-001 
/pxc-cluster/wordpress-001 
/pxc-cluster/wordpress-001/10.52.1.46 
/pxc-cluster/wordpress-001/10.52.1.46/ipaddr 
/pxc-cluster/wordpress-001/10.52.1.46/hostname 
/pxc-cluster/wordpress-001/10.52.2.33 
/pxc-cluster/wordpress-001/10.52.2.33/ipaddr 
/pxc-cluster/wordpress-001/10.52.2.33/hostname 
/pxc-cluster/wordpress-001/10.52.0.26 
/pxc-cluster/wordpress-001/10.52.0.26/hostname 
/pxc-cluster/wordpress-001/10.52.0.26/ipaddr 

kubectl後/ percona-0ポッドを削除

動作しません
{"action":"create","node":{"key":"/pxc-cluster/queue/wordpress-001/00000000000000009886","value":"10.52.0.27","expiration":"2017-03-26T08:38:57.980325718Z","ttl":60,"modifiedIndex":9886,"createdIndex":9886}} 
{"action":"set","node":{"key":"/pxc-cluster/wordpress-001/10.52.0.27/ipaddr","value":"10.52.0.27","expiration":"2017-03-26T08:38:28.01814818Z","ttl":30,"modifiedIndex":9887,"createdIndex":9887}} 
{"action":"set","node":{"key":"/pxc-cluster/wordpress-001/10.52.0.27/hostname","value":"percona-0","expiration":"2017-03-26T08:38:28.037188157Z","ttl":30,"modifiedIndex":9888,"createdIndex":9888}} 
{"action":"update","node":{"key":"/pxc-cluster/wordpress-001/10.52.0.27","dir":true,"expiration":"2017-03-26T08:38:28.054726795Z","ttl":30,"modifiedIndex":9889,"createdIndex":9887},"prevNode":{"key":"/pxc-cluster/wordpress-001/10.52.0.27","dir":true,"modifiedIndex":9887,"createdIndex":9887}} 

:とetcdするgister。

クラスタpercona-1の第二部材から:

2017-03-26T08:37:44.069583Z 0 [Note] WSREP: (bd05a643, 'tcp://0.0.0.0:4567') turning message relay requesting on, nonlive peers: tcp://10.52.0.26:4567 
2017-03-26T08:37:45.069756Z 0 [Note] WSREP: (bd05a643, 'tcp://0.0.0.0:4567') reconnecting to b7571ff8 (tcp://10.52.0.26:4567), attempt 0 
2017-03-26T08:37:48.570332Z 0 [Note] WSREP: (bd05a643, 'tcp://0.0.0.0:4567') connection to peer 00000000 with addr tcp://10.52.0.26:4567 timed out, no messages seen in PT3S 
2017-03-26T08:37:49.605089Z 0 [Note] WSREP: evs::proto(bd05a643, GATHER, view_id(REG,b7571ff8,3)) suspecting node: b7571ff8 
2017-03-26T08:37:49.605276Z 0 [Note] WSREP: evs::proto(bd05a643, GATHER, view_id(REG,b7571ff8,3)) suspected node without join message, declaring inactive 
2017-03-26T08:37:50.104676Z 0 [Note] WSREP: declaring c33d6a73 at tcp://10.52.2.33:4567 stable 

新情報: 私は再びpercona-0を再起動し、この時間は、それが何らかの形で来ました!数回試してみると、ポッドが2回再開してiを思いつく必要があることがわかった。e。それを最初に削除した後は、上記のエラーが表示され、2回目にそれを削除した後、それが正常に表示され、他のメンバーと同期します。クラスタ内の最初のポッドだったからでしょうか?

他のポッドの削除をテストしましたが、すべて正常に復帰しました。

この問題は、percona-0のみにあります。

また、 一度にすべてのポッドを取り除くと、ノードがクラッシュすると、ポッドがまったく元に戻らない状況になります。すべてのポッドを削除するに

[email protected]:~/Projects/k8wp$ kubectl logs percona-2 | grep ERROR 
2017-03-26T11:20:25.795085Z 0 [ERROR] WSREP: failed to open gcomm backend connection: 110: failed to reach primary view: 110 (Connection timed out) 
2017-03-26T11:20:25.795276Z 0 [ERROR] WSREP: gcs/src/gcs_core.cpp:gcs_core_open():208: Failed to open backend connection: -110 (Connection timed out) 
2017-03-26T11:20:25.795544Z 0 [ERROR] WSREP: gcs/src/gcs.cpp:gcs_open():1437: Failed to open channel 'wordpress-001' at 'gcomm://10.52.2.36': -110 (Connection timed out) 
2017-03-26T11:20:25.795618Z 0 [ERROR] WSREP: gcs connect failed: Connection timed out 
2017-03-26T11:20:25.795645Z 0 [ERROR] WSREP: wsrep::connect(gcomm://10.52.2.36) failed: 7 
2017-03-26T11:20:25.795693Z 0 [ERROR] Aborting 
[email protected]:~/Projects/k8wp$ kubectl logs percona-1 | grep ERROR 
2017-03-26T11:20:27.093780Z 0 [ERROR] WSREP: failed to open gcomm backend connection: 110: failed to reach primary view: 110 (Connection timed out) 
2017-03-26T11:20:27.093977Z 0 [ERROR] WSREP: gcs/src/gcs_core.cpp:gcs_core_open():208: Failed to open backend connection: -110 (Connection timed out) 
2017-03-26T11:20:27.094145Z 0 [ERROR] WSREP: gcs/src/gcs.cpp:gcs_open():1437: Failed to open channel 'wordpress-001' at 'gcomm://10.52.1.49': -110 (Connection timed out) 
2017-03-26T11:20:27.094200Z 0 [ERROR] WSREP: gcs connect failed: Connection timed out 
2017-03-26T11:20:27.094227Z 0 [ERROR] WSREP: wsrep::connect(gcomm://10.52.1.49) failed: 7 
2017-03-26T11:20:27.094247Z 0 [ERROR] Aborting 
[email protected]:~/Projects/k8wp$ kubectl logs percona-0 | grep ERROR 
2017-03-26T11:20:52.040214Z 0 [ERROR] WSREP: failed to open gcomm backend connection: 110: failed to reach primary view: 110 (Connection timed out) 
2017-03-26T11:20:52.040279Z 0 [ERROR] WSREP: gcs/src/gcs_core.cpp:gcs_core_open():208: Failed to open backend connection: -110 (Connection timed out) 
2017-03-26T11:20:52.040385Z 0 [ERROR] WSREP: gcs/src/gcs.cpp:gcs_open():1437: Failed to open channel 'wordpress-001' at 'gcomm://10.52.2.36': -110 (Connection timed out) 
2017-03-26T11:20:52.040437Z 0 [ERROR] WSREP: gcs connect failed: Connection timed out 
2017-03-26T11:20:52.040471Z 0 [ERROR] WSREP: wsrep::connect(gcomm://10.52.2.36) failed: 7 
2017-03-26T11:20:52.040508Z 0 [ERROR] Aborting 

grastate.dat:私は状態がgrastate.datに保存されていないからだと疑われる、すなわちSEQ_NOが残っ-1グローバルIDが変更される可能性にもかかわらず、mysqldのシャットダウンとポッド出口、および以下のエラー:

[email protected]:/mnt/gfs/gluster_vol-1/mysql# cat percona-0/grastate.dat 
# GALERA saved state 
version: 2.1 
uuid: a91f70f2-11f8-11e7-8f3d-86c2e58790ac 
seqno: -1 
safe_to_bootstrap: 0 
[email protected]:/mnt/gfs/gluster_vol-1/mysql# cat percona-1/grastate.dat 
# GALERA saved state 
version: 2.1 
uuid: a91f70f2-11f8-11e7-8f3d-86c2e58790ac 
seqno: -1 
safe_to_bootstrap: 0 
[email protected]:/mnt/gfs/gluster_vol-1/mysql# cat percona-2/grastate.dat 
# GALERA saved state 
version: 2.1 
uuid: a91f70f2-11f8-11e7-8f3d-86c2e58790ac 
seqno: -1 
safe_to_bootstrap: 0 

いいえ、次のスクリプトをコンテナにエントリポイントを変更すると、それを修正

答えて

0

をgvwstate.dat:

問題がある https://www.claudiokuenzler.com/blog/494/galera-cluster-mysql-not-starting-failed-to-open-channel-reach-primary#.WNesDiF97Qo

から

おかげで、クラッシュから3つのポッドを再起動するとき、それらはすべて、次のエラーを打つ:

[ERROR] WSREP: failed to open gcomm backend connection: 110: failed to reach primary view: 110 (Connection timed out) 

何その手段(リンクから要約)であり、すべてのポッドが最初のポッドを下っているので(ポッドはステートフルセットで管理されています)、クラスタに再接続しようとしますが、接続できる他のポッドは見つからないので、次のポッドが来ます同じことを試みて、同じエラーに遭遇し、etcに行くなど

解決策は、最初のポッドが新しいクラスタを起動するときです。その後、すべてのノードが起動し、接続先のノードが見つけられます。それでもすべてのデータが出ます。だから私は、セットアップの実行を取得するためにしなければならないすべてがそうのような/entrypoint.shファイルに以前の引数--wsrep-new-clusterを渡している

exec mysqld --user=mysql --wsrep_cluster_name=$CLUSTER_NAME --wsrep_cluster_address="gcomm://$cluster_join" --wsrep_sst_method=xtrabackup-v2 --wsrep_sst_auth="xtrabackup:$XTRABACKUP_PASSWORD" --log-error=${DATADIR}error.log $CMDARG 

::のようなドッキングウィンドウコンテナのエントリポイントxtradb perconaとそう

に見える

/entrypoint.sh --wsrep-new-cluster 

PS // は私が一人で最初に上記を試してみましたが、私は新しいクラスタを強制し、そのノードをブートストラップすることを示すエラーに走った私はを設定する必要がありました0から1まで/var/lib/mysql/grastate.dat

関連する問題