ドッキングウィンドウのMySQL PXCクラスタ
はじめに:そこウェブ上の記事のクラスタを構築するための多くのですが、私は必要はありませんでした。いくつかの時間のために学び、あなたが成功を構築することができ、かつ複数のサーバに基づいています。
著者:everythingok
レセプション:ドッキングウィンドウインストール無視、この記事では、群れのクラスタを開始します。別のポートが開放されるがサーバA、Bは、Cが自身の外部ネットワークアドレスを持つ各(もちろんネットワーク内でより良い通信することができる)、および有します。
開いているポートへのオープンcnentos7上記のIp
firewall-cmd --zone=public --permanent --add-rich-rule="rule family="ipv4" source address="45.124.124.162" accept"
firewall-cmd --reload
1. SWARMクラスタ
1.1確立されたマスタノードクラスタ
docker swarm init --advertise-addr A.A.A.A:2377
[root@xq-test-docker-master01 svn]# docker swarm join-token worker
To add a worker to this swarm, run the following command:
docker swarm join --token SWMTKN-1-274lmt9n21byry6tqshvcldfot2t8cvd455308l5d71a2g2t96-brff30kahfeu9jfokocurp9hj A.A.A.A:2377
1.2 Bノードは、クラスタに参加します
docker swarm join --token SWMTKN-1-274lmt9n21byry6tqshvcldfot2t8cvd455308l5d71a2g2t96-brff30kahfeu9jfokocurp9hj A.A.A.A:2377
1.3 Cノードがクラスタに参加します
docker swarm join --token SWMTKN-1-274lmt9n21byry6tqshvcldfot2t8cvd455308l5d71a2g2t96-brff30kahfeu9jfokocurp9hj A.A.A.A:2377
1.4クラスタノードビューケース
docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS ENGINE VERSION
hmavp6p0u9r1dgjl2fxtdorao * 161 Ready Active Leader 19.03.2
tzoini4a1hka4rawnzxxky84i 162 Ready Active 19.03.2 11maitff254rab4atq9e7qd2d 164 Ready Active 19.03.2
1.5ノードは、オーバーレイネットワークを確立します
1.5.1ネットワーキング
docker network create -d overlay --attachable pxc-network
1.5.2ビューネットワーク
docker network inspect pxc-network
1.問題ドッカーネットワークを実行コマンドB、Cのノードを見つけるPXCネットワーク網を検査するが、それは、実際に利用可能です。
2. PXCビルドクラスタ
2.1 A、B、C引っ張るノードpercona-xtradbクラスタ
2.1.1プルミラーリング
docker pull percona/percona-xtradb-cluster
ミラーの名前を変更するには2.1.2
docker tag docker.io/percona/percona-xtradb-cluster pxc
2.2ノードは、PXCサービスに作成され
2.2.1ボリュームを作成PXCサービスをマウントするので、このステップは、でなければなりません。
docker volume create mysql-data-node
docker volume inspect mysql-data-node //可以查看挂载点路径等信息
2.2.2は、サービス・ノードは、PXCを開始します
docker run -d -e MYSQL_ROOT_PASSWORD=******** -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=******** --net=pxc-network --privileged -p 3306:3306 -v mysql-data-node:/var/lib/mysql --name=pxc-node-1 pxc
質問文字CKリドー/etc/mysql/node.cnf設定ファイルの最後の行においては、この文字を削除します。
2.、根本的な問題は、接続が完了した後に成功していない起動しPXCサービスを入力し、rootのパスワードを変更します
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' flush privileges;
それでも接続できない場合は質問3、今回はスキップ-名前解決を追加し、コンフィギュレーション・ファイル/etc/mysql/node.cnfを変更します。
質問4.私は本当に、二度の問題を勉強する時間をドッキングウィンドウの実行を開始しないようにしたいです。
サービスを使用してこのような現実のNavicatはmysqlの接続として追加のノードを作成するために再使用することができたとき。注意してください。
2.3 Bノード作成PXCサービス
ボリュームの作成2.3.1
docker volume create mysql-data-node
docker volume inspect mysql-data-node //可以查看挂载点路径等信息
2.3.2は、サービス・ノードは、PXCを開始します
docker run -d -e MYSQL_ROOT_PASSWORD=******** -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=******** --net=pxc-network --privileged -p 3306:3306 -v mysql-data-node:/var/lib/mysql --name=pxc-node-1 pxc
docker run -d -e MYSQL_ROOT_PASSWORD=******** -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=******* --net=pxc-network -e CLUSTER_JOIN=pxc-node-1 --privileged -p 3306:3306 -v mysql-data-node:/var/lib/mysql --name=pxc-node-2 pxc
、他の複数のノードをなおコマンド-e CLUSTER_JOIN = PXCノード-1、そのノードの同期を意味し、そして
私は時々、問題なくネットワークを促し、時間の群れクラスタテストをしていました。これが原因です、私はクラスタを解散した後、再結合します最終的に確認することは現実的ではありません。この背景には生産する問題はありません
私は、2番目のノードの起動に失敗し、ここで見つけるPXCサービスは、ユーザxtrabackupデフォルトで作成されていない原因を見つける、あなたが手動でユーザーを作成する必要があります。
GRANT ALL PRIVILEGES ON *.* TO 'xtrabackup'@'localhost' IDENTIFIED BY '*****' flush privileges;
ライン上の一貫性のあるこのXTRABACKUP_PASSWORDノードBとパスワードを入力します。