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.0。0.0 wsrep_cluster_name = ' testcluster ' ...
(3)初期化して最初に起動するとき、1つのノードに新しいクラスタを--wsrep開始/etc/init.d/mysqlコマンドを実行し、クラスタを初期化する必要が開始、他のノードは正常開始することができ
[ルート@ centos7- 17〜]#は、新規作成--wsrep開始/etc/init.d/mysql クラスタを MariaDBを開始します。191209 14:36:49にログmysqld_safeを' /var/lib/mysql/centos7.localdomain.err ' 。 191209 14:36:49の/ var / libに/からのデータベースとmysqld_safeを開始してmysqldデーモンmysqlの ... SUCCESS! #他の2つのノードが正常に起動することができ、2起動モードをすることができ [ルート@ centos7 - 27〜]#/etc/init.d/のmysqlの開始 MariaDBを開始します。191209 14:37:12にmysqld_safeをロギング' /var/lib/mysql/centos7-27.err ' 。 191209 14:37:12の/ var / libに/からのデータベースとmysqld_safeを開始してmysqldデーモンmysqlの ... SST での進展、設定睡眠を高い....... SUCCESS! [ルート@ centos7 - 37〜]#サービスのmysql開始 MariaDBを開始します。191209 14:37:21にmysqld_safeをロギング' /var/lib/mysql/centos7-37.err ' 。 191209 14:37:21の/ var / libに/からのデータベースとmysqld_safeを開始してmysqldデーモンmysqlの ... SST での進展、設定睡眠を高い....... SUCCESS!
(4)は、テストデータを同期させることができ、正常に起動します
[ルート@ centos7- 17〜]#mysqlの MariaDBモニタへようこそ。コマンドは、で終わります。または\グラム。 あなたのMariaDBの接続IDがある5 :Serverバージョン5.5。63 -MariaDB-wsrep MariaDBサーバー、wsrep_25。25 .r9949137 著作権(C)2000、2018 、オラクル、MariaDB株式会社アブなどがあります。 タイプ" ヘルプ; 「または」\ H " のためのヘルプ。タイプ「\ Cを」するためにクリアし、現在の入力文を。 MariaDB [(なし)] > ショーデータベース; + -------------------- + | データベース| + -------------------- + | INFORMATION_SCHEMA | | mysqlの| | performance_schema | | テスト| + -------------------- + 5行にセット(0.00秒) MariaDB [(なし)] > [ データベースDB1を作成し、データベースのテスト#を構築 #他のノード上で閲覧が正常にコピーされます [ルート@ centos7 - 27〜]#mysqlの MariaDBモニタへようこそ。コマンドは、で終わります。または\グラム。 あなたのMariaDBの接続IDがある4 :Serverバージョン5.5。63 -MariaDB-wsrep MariaDBサーバー、wsrep_25。25 .r9949137 著作権(C)2000、2018 、オラクル、MariaDB株式会社アブなどがあります。 タイプ" ヘルプ; 「または」\ H " のためのヘルプ。タイプ「\ Cを」するためにクリアし、現在の入力文を。 MariaDB [(なし)] > ショーデータベース; + -------------------- + | データベース| + -------------------- + | INFORMATION_SCHEMA | | Db1と| #ノードは、これがされていることがわかります | mysqlの| | performance_schema | | テスト| + -------------------- + 5行にセット(0.00秒) [ルート@ centos7 - 37〜]#mysqlの MariaDBモニタへようこそ。コマンドは、で終わります。または\グラム。 あなたのMariaDBの接続IDがある4 :Serverバージョン5.5。63 -MariaDB-wsrep MariaDBサーバー、wsrep_25。25 .r9949137 著作権(C)2000、2018 、オラクル、MariaDB株式会社アブなどがあります。 タイプ" ヘルプ; 「または」\ H " のためのヘルプ。タイプ「\ Cを」するためにクリアし、現在の入力文を。 MariaDB [(なし)] > ショーデータベース; + -------------------- + | データベース| + -------------------- + | INFORMATION_SCHEMA | | Db1と| #別のノードにもあり mysqlの| | | performance_schema | | テスト| + -------------------- + 5行にセット(0.00秒)