MySQLのMHA高可用性アーキテクチャ

0の原理と機能、MHAの

       1)、監視ノード(すべてのノードが、構成ファイルを介して情報を取得します)

                  システム、ネットワーク

                   マスタ状態から

        主な政策の2)選挙

                1)それはライブラリ(位置又はGTID)から決定された場合、差分データ、スレーブマスタに最も近い、主代替となる存在です。

                2)それは、ライブラリ(位置又はGTID)データを選択インストールプロファイルコンフィギュレーションサーバを順次一致から決定された場合(デフォルト)

                3)重量(candidate_master = 1)を設定する権利場合、その重みに応じて代替マスターを強制

                      1)、デフォルトでは、スレーブはそれを再選出する権利を持っていない場合でも、それのマスター100Mの後ろにログを中継した場合、

                      2)check_repl_delay = 0は、場合でも、また強制されている相手の背後にあるログは、代替主を選択した場合

       3)データ補正戦略

              1)場合、SSHが接続、プライマリ・データベースGTID又は位置番号で、バイナリログライブラリから直ちに保持し、各スレーブノード(save_binary_logs)に印加さ​​れます。

              2)と、接続できないSSH、差分relaylogライブラリとの比較から(apply_diff_relay_logs)

      4)フェイルオーバ 

           残りの外にサービスを提供するために、メインの代替アイデンティティスイッチは、ライブラリと新しいメインライブラリーから新しい主従関係を確認します

     5)アプリケーションに対して透過的(VIP)

     

     6)通知メカニズム(send_report)

 

     7)第2の補償データ(binlog_server)

    .......に開発される8)治癒()

 

 

 

 

               

1、2メイン正常ことを保証する環境からメイン環境からMHA

MHA-ノードをダウンロードして、MHA-管理

ダウンロード:https://github.com/yoshinorim/mha4mysql-node/releases

2、SSHの間のマスター・トラストから構成

SSH-keygenは-t rsaの-P ''  

SSH-コピー-ID 

3つの相互認証における相互運用ノードと

3、ソフトリンクを作成

LN -s /アプリ/ mysqlの/ binに/ mysqlbinlogはは/ usr / binに/ mysqlbinlogは

LN -s /アプリ/ mysqlの/ binに/ mysqlのは/ usr / binに/ mysqlの

図4に示すように、ソフトウェアのインストールノード(3つのノードがインストールされています)

yumをインストールperlの-DBD-MySQLの-y
yumをlocalinstall mha4mysqlノード-0.58-0.el7.centos.noarch.rpm 

 

5、サーバーマネージャソフトウェアとしてサーバーのいずれかを選択して、次のようにインストールします

yumを-yのperl-Configを-小型のperl-LOG-ディスパッチのperl-パラレルForkMangerをインストールperlの時、ハイレゾ

コンパイラは、以下のライブラリをインストールする必要がありますインストール(yumのperlの-CPAN * -yをインストールします)

yumをlocalinstall mha4mysqlマネージャ-0.58-0.el7.centos.noarch.rpm -y

 

6、MHAは、ユーザ固有の監視および管理を作成する(作成は、メインライブラリに直接であってもよいです)

*上のすべての権限を付与*「123」によって識別される「mha'@'192.168.1.%」に。

フラッシュ権限;

図7は、ユーザが成功したか否かを三つの異なるノードMHAで見

ユーザー、mysql.userからホストを選択します。

図8に示すように、コンフィギュレーション・マネージャノード構成ファイルマネージャ

設定ディレクトリを作成します。

ます。mkdir -pの/ etc / MHA

ログディレクトリを作成します。

ます。mkdir -pは/ var / log / MHA

設定ファイルを編集しMHA

[サーバデフォルト]
manager_log =は/ var / log / MHA / APP1 /マネージャ
manager_workdir =は/ var / log / MHA / APP1
master_binlog_dir = /データ/ MySQLの/バイナリログ
ユーザー= MHA
パスワード= MHA
ping_interval = 2
repl_password = 123.com
repl_user = REPL
ssh_user =ルート
[SERVER1]
ホスト名= 192.168.1.130の
ポート= 3306
[サーバ2]
ホスト名= 192.168.1.141の
ポート= 3306
[server3の】
ホスト名= 192.168.1.145の
ポート= 3306
 

9、SSHの信頼関係を確認するために、組み込みのコマンドMHAツールを使用して、(すべての[OK]を、通常の環境を示します)

master_check_ssh --conf =の/ etc / MHA / app1.conf

10、からマスターコピーていることを確認します

master_check_repl --conf =の/ etc / MHA / app1.conf

11、マネージャを起動します

nohupをmasterha_manager --conf =の/ etc / MHA / app1.cnf --remove_dead_master_conf --ignore_last_failover <を/ dev / null> /var/log/mha/app1/manager.log 2>&1&
スタートの成功を確認します  

masterha_check_status --conf =の/ etc / MHA / app1.cnf 
 

 


 

 

おすすめ

転載: blog.csdn.net/pang_2899/article/details/93464656