要件:CentOSのベースドッカーコンテナMariaDB 10.xのガレラクラスタを提供DockerのMariaDB Galeraクラスタで「WSREP:SST failed:1(操作が許可されていません)」をデバッグするには?
ホスト環境:OX Xエルキャピタン10.11.6、ドッカー1.12.5(14777)
ドッカーコンテナOS:CentOSのLinuxのリリース1611年7月3日(コア)
DB:10.1.20-MariaDB
私はa promising Docker imageを見つけましたが、ドキュメントは時代遅れであると思われる、クラスタを起動するコマンドは動作しません。画像を書いている時点で(自分のホスト上に空のディレクトリと/ユーザ/ ME/somedbを置き換える)wsrep_sst_method = rsyncをを使用していますので、私は次のコマンドが動作する必要があることを考え出し:
docker pull dayreiner/centos7-mariadb-10.1-galera
docker run -d --name db1 -h db1host -p 3306:3306 -e CLUSTER_NAME=joe -e CLUSTER=BOOTSTRAP -e MYSQL_ROOT_PASSWORD='pwd' -v /Users/Me/somedb:/var/lib/mysql dayreiner/centos7-mariadb-10.1-galera:latest
docker run -d --name db2 -h db2host -p 3307:3306 --link db1 -e CLUSTER_NAME=joe -e CLUSTER=db1host,db2host -e MYSQL_ROOT_PASSWORD='pwd' -v /Users/Me/somedb:/var/lib/mysql dayreiner/centos7-mariadb-10.1-galera:latest
第一の容器を(db1)が現れ、OKと思われます。しかし、次のエラーでガレラクラスタ結果と、第2ノード(ドッカログのDB2)としてDB2を追加しようと最後の行は:
2017-01-10 15:26:10 139742710823680 [Note] WSREP: New cluster view: global state: :-1, view# 0: Primary, number of nodes: 1, my index: 0, protocol version 3
2017-01-10 15:26:10 139742711142656 [ERROR] WSREP: SST failed: 1 (Operation not permitted)
2017-01-10 15:26:10 139742711142656 [ERROR] Aborting
私はここで間違っているかを把握できなかったと方法についてのアイデアをいただければ幸いですこれをさらに分析する。これはrsync、Galera、またはDockerの問題ですか?
解決策を見つけて追加の説明をいただきありがとうございます!このように私は今、MariaDBのバージョン10.1.20でも働いています。 – StaticNoiseLog
乾杯、うれしい!デフォルトのブリッジネットワークがなぜこのような障壁になるのかは本当にわかりません。私の唯一の推測は、socatによって開かれたSSTポートは常にではなく、状態転送中にオンデマンドであるためです。ポートがコンテナの起動時に開かれていないので、おそらくそれを処理するいくつかの問題。マルチホストを実行する場合、私はいつもa)ホストネットワーキングモードか、b)swarm + overlayネットワークを使ってSSTポート通信を行います。その場合、標準的なポート転送もborkに見えます。 – Jon
追加情報ありがとう!私は10.2.3の作品を見ました(自分の答えを見てください)。多分ポートの処理に関して何かが修正されたかもしれません。 – StaticNoiseLog