Linuxの学習-MySQLガレラClusteクラスタの高可用性

A、ガレラClusteプロフィール

1、ガレラクラスタ

 ガレラは、プラグインのMySQL Clusterは、ガレラクラスタは、2つのバージョン、すなわちPercona XtradbクラスタとMariaDBクラスタ、ガレラ自体で現在提供されて共有されていないデータの新しいタイプの、非常に冗長な高可用性ソリューションで統合マルチマスタでありますマルチマスタクラスタアーキテクチャを使用するプロパティは、堅牢で、高可用性の両方のソリューションであり、データの一貫性、整合性と高パフォーマンスの面で優れています。wsrepによってグローバルコピーに実装されたプロトコル(MySQLは書き込み複製セットで拡張)を、任意のノードは、読み込みと書き込みができ、マスター、マルチマスターリーダーからコピーする必要はありません。

 図では示しています3つのノードのクラスタ、全てがマスタノードとして使用することができ、従来のマスタ - スレーブ・アーキテクチャ、等は、クライアントが書き込まれなければならないマルチマスターアーキテクチャと呼ばれる3つのノード、です又はリードデータ、同様に接続された例は、同一のデータが読み出され、特定のノードを書き込んだ後、新しいデータは、上記他のノードに、自身のクラスタを同期させる、このアーキテクチャは、任意のデータを共有しないで高度に冗長アーキテクチャ。

2、ガレラクラスタ機能

  マルチマスター・アーキテクチャ:真のマルチクラスタの読み取りと書き込み、任意の時点でデータを読み取り、書き込み、最新のです

  同期レプリケーション:クラスタの異なるノード間での同期データは、遅滞なく、データベースハングした後、何もデータが失われることはありません

  並行コピー:より良いパフォーマンス、並列実行をサポートするために、ノードからデータを適用

  フェイルオーバー:データベースに障害が発生した場合には、マルチ書かサポートによる、簡単なスイッチへ

  ホットスワップ:長期モニタリングプログラムとして、それはほんの少しの時間を表示しませんように、サービス時には、データベースがハングアップした場合には、十分な速さを発見しました。ノード障害時に、ノード自体は、クラスタ上の非常に小さい影響であります

  自動ノードクローニング:メンテナンスのために停止新しいノードを追加する場合、または、増分データベースまたはデータを手動でバックアップを提供する必要はありません、ガレラClusterは自動的にデータがオンラインノード引っ張ってくる、クラスタは、最終的には一貫なります

  アプリケーションに対して透過:クラスタを維持することは、アプリケーションに対して透過的です 

3、ガレラクラスタ作業プロセス

  クライアントは、commitコマンドを送信すると、トランザクションがコミットされる前に、データベースに対するすべての変更は、ライトセットアップを収集し、他のノードへの書き込みセットレコードの内容を送信しています。ライトセットは、各ノードにおける認証試験になり、ノードテストの結果は、書き込みセット変更データを適用するかどうかを決定します。認証テストが失敗した場合、ノードは、ライトセットを破棄します。認定試験に成功した場合は、トランザクションがコミットされます。競合が同時に同じデータを書き込み、ID自動成長の問題を自動的に解決することができます。

第二に、インストールの配備

1、実験環境

 ホスト:3、ノード1(192.168.214.17)、ノード2(192.168.214.27)、ノード3(192.168.214.37);注意少なくとも3つのノード、及びサービスがmariadbサーバにインストールすることができません

 システム:CentOS7.6

 パッケージ:MariaDB-ガレラ - サーバー5.5.63(YUMソースインストール)

 参考倉庫ます。https://mirrors.tuna.tsinghua.edu.cn/mariadb/mariadb-5.5.63/yum/centos7-amd64/(期限切れ)

2は、展開し始めました

 (1)は、3つのyumホストノードに配置され、MariaDB-ガレラ-serverパッケージを搭載しました

[ルート@ centos7- 17〜]#の >の/ etc / yumを .repos.d / mysql.repo << EOF
[MySQLの】
名前 = ガレラクラスタ
BASEURL =のhttp:// ftp.hosteurope.de/mirror/archive.mariadb.org // mariadb-5.5.63 / yumを/ centos7-AMD64 / 
gpgcheck = 0 
[ルート@ centos7 - 27〜]#yumを インストール -y MariaDB -Galera- サーバー
[ルート@ centos7 - 37〜]#yumを インストール -y MariaDB-ガレラ-サーバー

  (2)[ガレラ]、次の情報を修正する見つけるなど、コンフィギュレーション・ファイル/etc/my.cnf.d/server.cnf三のノードの構成を変更します

  【ガレラ]
  wsrep_provider = /usr/lib64/galera/libgalera_smm.so
  wsrep_cluster_address = "Gcomm://192.168.214.17,192.168.214.27,192.168.8.37"
  binlog_format =行
  default_storage_engine =のInnoDB
  innodb_autoinc_lock_mode = 2
  バインドアドレス= 0.0.0.0
  次の構成オプションの
  wsrep_cluster_name = 'MYCLUSTER'デフォルト= wsrep_node_name my_wsrep_cluster 'ノード1'
  wsrep_node_address = '192.168.8.7'

[ルート@ centos7- 17〜]#vimの/etc/my.cnf.d/ server.cnf
...
[ギャレー]
#必須設定
wsrep_provider =は/ usr / lib64に/ガレラ/ libgalera_smm.so
wsrep_cluster_address = " gcomm://192.168.214.17,192.168.214.27,192.168.214.37 " 
binlog_format = 
default_storage_engine = InnoDBの
innodb_autoinc_lock_mode = 2 
バインド -address = 0.00.0 
wsrep_cluster_name = ' testcluster ' 
...

 (3)初期化して最初に起動するとき、1つのノードに新しいクラスタを--wsrep開始/etc/init.d/mysqlコマンドを実行し、クラスタを初期化する必要が開始、他のノードは正常開始することができ

[ルート@ centos7- 17〜]#は、新規作成--wsrep開始/etc/init.d/mysql クラスタを
MariaDBを開始します。191209  143649にログmysqld_safeを' /var/lib/mysql/centos7.localdomain.err ' 191209  143649の/ var / libに/からのデータベースとmysqld_safeを開始してmysqldデーモンmysqlの
... SUCCESS 

#他の2つのノードが正常に起動することができ、2起動モードをすることができ
[ルート@ centos7 - 27〜]#/etc/init.d/のmysqlの開始
MariaDBを開始します。191209  143712にmysqld_safeをロギング' /var/lib/mysql/centos7-27.err ' 191209  143712の/ var / libに/からのデータベースとmysqld_safeを開始してmysqldデーモンmysqlの
... SST での進展、設定睡眠を高い....... SUCCESS! 
[ルート@ centos7 - 37]#サービスのmysql開始
MariaDBを開始します。191209  143721にmysqld_safeをロギング' /var/lib/mysql/centos7-37.err ' 191209  143721の/ var / libに/からのデータベースとmysqld_safeを開始してmysqldデーモンmysqlの
... SST での進展、設定睡眠を高い....... SUCCESS!

 (4)は、テストデータを同期させることができ、正常に起動します

[ルート@ centos7- 17]#mysqlの
MariaDBモニタへようこそ。コマンドは、で終わります。または\グラム。
あなたのMariaDBの接続IDがある5 
:Serverバージョン5.563 -MariaDB-wsrep MariaDBサーバー、wsrep_25。25 .r9949137

著作権(C)20002018 、オラクル、MariaDB株式会社アブなどがあります。

タイプ" ヘルプ; または\ H "  のためのヘルプ。タイプ\ Cをするためにクリアし、現在の入力文を。

MariaDB [(なし)] > ショーデータベース;
+ -------------------- +
| データベース|
+ -------------------- +
| INFORMATION_SCHEMA |
| mysqlの|
| performance_schema |
| テスト|
+ -------------------- +
5セット(0.00秒)

MariaDB [(なし)] > [ データベースDB1を作成し、データベースのテスト#を構築

#他のノード上で閲覧が正常にコピーされます
[ルート@ centos7 - 27]#mysqlの
MariaDBモニタへようこそ。コマンドは、で終わります。または\グラム。
あなたのMariaDBの接続IDがある4 
:Serverバージョン5.563 -MariaDB-wsrep MariaDBサーバー、wsrep_25。25 .r9949137

著作権(C)20002018 、オラクル、MariaDB株式会社アブなどがあります。

タイプ" ヘルプ; または\ H "  のためのヘルプ。タイプ\ Cをするためにクリアし、現在の入力文を。

MariaDB [(なし)] > ショーデータベース;
+ -------------------- +
| データベース|
+ -------------------- +
| INFORMATION_SCHEMA |
| Db1と|     #ノードは、これがされていることがわかります
 | mysqlの|
| performance_schema |
| テスト|
+ -------------------- +
5セット(0.00秒)

[ルート@ centos7 - 37]#mysqlの
MariaDBモニタへようこそ。コマンドは、で終わります。または\グラム。
あなたのMariaDBの接続IDがある4 
:Serverバージョン5.563 -MariaDB-wsrep MariaDBサーバー、wsrep_25。25 .r9949137

著作権(C)20002018 、オラクル、MariaDB株式会社アブなどがあります。

タイプ" ヘルプ; または\ H "  のためのヘルプ。タイプ\ Cをするためにクリアし、現在の入力文を。

MariaDB [(なし)] > ショーデータベース;
+ -------------------- +
| データベース|
+ -------------------- +
| INFORMATION_SCHEMA |
| Db1と|     #別のノードにもあり
 mysqlの| |
| performance_schema |
| テスト|
+ -------------------- +
5セット(0.00秒)
コードの表示

 

おすすめ

転載: www.cnblogs.com/hovin/p/12010967.html