エンタープライズアプリケーション、永続層アーキテクチャオプションII(二重メイン高可用性同期b)は、エンタープライズ・アプリケーション、永続化フレームワークプログラム(同期デュアルプライマリ高可用性)

  このエンタープライズクラスのアプリケーションでは、二層アーキテクチャプログラムを永続します。:最後に、エンタープライズ・アプリケーション、永続化フレームワークプログラム(同期デュアルプライマリ高可用性)です。レディ2つのMySQLデータベースノード:hadoop001、hadoop002。二つのノード相互バックアップ、それはデュアルマスター同期高可用性と呼ばれているか、二重シュウマスター同期可用性を実現するには?実際には、問題を2つに分割する必要があります。一つは、デュアルプライマリ同期、相互バックアップであり、他は、高可用性です。だから、デュアルマスターは、本明細書に相互バックアップを実現してきた上で、このIPは仮想keepalivedの通過高可用性を実現します:

1. keepalivedのインストール

  1.1.hadoop001ノード

#インストールはkeepalivedの
 yumの インストール - keepalivedのY- 

#は、サービス開始keepalivedの
 /etc/init.d/のが起動しますkeepalivedの
 ----------------------------- -------------- 
[ルート@のhadoop02のanginx]#の /etc/init.d/の起動keepalivedの
keepalivedの開始:[OK] 
[ルート@ hadoop02のanginx]#PS -ef | grepのkeepalivedの
ルート       15723       1   0  0059000000は/ usr / sbinに/ keepalivedの- Dの
ルート       15724   15723   0 0059000000は/ usr / sbinに/ keepalivedの- D 
ルート       15725   15723   0  0059000000は/ usr / sbinに/ keepalivedの- D 
ルート       15731   15622   0  0059の PTS / 1     000000  grepがkeepalivedの
[ルート@のhadoop02のanginx]#の

開始から#セットブートを
エコー /etc/init.d/keepalived開始" >>は/ etc / rc.localに

#近いkeepalivedのサービスが
停止し/etc/init.d/keepalived

 

  1.2.hadoop002ノード

  説明:参考hadoop001ノードのインストール

2. [設定keepalivedの

 2.1.hadoop001ノード

#编辑keepalivedの配置文件
 のviの/ etc / keepalivedの/ keepalived.conf

 ------------------------------------ ----------------------- コンフィギュレーション・ファイルのためのkeepalivedの

global_defs { 
   {notification_email 
     [email protected] 
     [email protected] 
     [email protected] 
   } 
   notification_email_from [email protected] 
   SMTP_SERVER 192.168200.1 
   smtp_connect_timeout 30 
   ROUTER_ID mysql_ha 
} 

VI_1 vrrp_instance { 
    状態バックアップ
    インターフェースeth1が
    virtual_router_id 55
    優先順位100 
    advert_int 1。
    nopreempt#のみマスターのリソースを先取りしないこの高い優先度が設定され、バックアップが設けられていない
    認証{ 
        PASS AUTH_TYPE 
        AUTH_PASS server123のを
    } 
    virtual_ipaddress { 
        192.16880.40 DEVのeth1のラベルのeth1:1 
    } 
}を

VIRTUAL_SERVER 192.16880.40  3306 { 
 delay_loop 2 
 #lb_algo #LVSのRRアルゴリズムは、我々が閉じ未満
 #lb_kind DR #LVSモードを閉じていない場合、バックアップサーバは、メインVIPに接続できないMySQLは
 persistence_timeout 60   #は60秒に同じIP接続を割り当てられているが同じ実サーバ
 TCPプロトコル
 real_server192.16880.30  3306 {#バックアップは、ローカル書き込みMySQLの検出、ローカルのMySQLを検出
 体重を3 
 notify_downは/ usr / local /開発/シェル/ MySQLの。SHの    #をダウンmysqサービス、このスクリプトを実行し、スイッチを殺すが実現keepalivedの
 TCP_CHECKを{ 
 CONNECT_TIMEOUT 。3     #接続タイムアウト
 nb_get_retry 。3回の       リトライ#1 
 delay_before_retry 。3 #再試行間隔
  } 
} 
.............................. .............................

 

 2.2.hadoop002ノード

#编辑keepalivedの配置文件
 のviの/ etc / keepalivedの/ keepalived.conf

 ------------------------------------ ----------------------- コンフィギュレーション・ファイルのためのkeepalivedの

global_defs { 
   {notification_email 
     [email protected] 
     [email protected] 
     [email protected] 
   } 
   notification_email_from [email protected] 
   SMTP_SERVER 192.168200.1 
   smtp_connect_timeout 30 
   ROUTER_ID mysql_ha 
} 

VI_1 vrrp_instance { 
    状態バックアップ
    インターフェースeth1が
    virtual_router_id 55
    優先90 
    advert_int 。1つの
    認証{ 
        PASS AUTH_TYPE 
        AUTH_PASS server123の
    } 
    {virtual_ipaddressを
        192.16880.40 DEVのeth1 eth1のラベル:。1 
    } 
} 

VIRTUAL_SERVER 192.16880.40  3306 { 
 delay_loop 2 
 以下#lb_algo #LVSのRRアルゴリズムを、我々は閉じより
 #lb_kind DR #LVSモード、閉じられていない場合は、バックアップサーバは、MySQLがメインVIP接続することはできません
 persistence_timeout 60   60秒以内に同じ実サーバに割り当てられている#同じIP接続を
 プロトコルTCP 
 real_server 192.16880.31  3306 {#ローカルのMySQLを検出し、バックアップもローカル書き込みMySQLの検出
 体重を3 
 notify_downは/ usr / local / /シェル/ MySQLを開発する。SHの    #ダウンするとmysqサービス、このスクリプトを実行し、スイッチを殺すが実現keepalivedの
 TCP_CHECK { 
 CONNECT_TIMEOUTを。3     #接続タイムアウト
 nb_get_retry 。3回の       #リトライ
 delay_before_retry 。3 #再試行間隔
  } 
} 
................................ ...........................

 

3.スクリプトスイッチを書きます

#mysql.shスクリプト
CDは/ usr / local /開発/ シェル

のviのMySQL。SH 
-------------------------------- --------------------------- !/ binに/ bashの
pkillはkeepalivedの

#スクリプトに実行権限を追加し
ます。chmod U + X-MySQLを。SHの

#をもう一度keepalivedの開始
 /etc/init.d/keepalived再起動を

4.テストプログラム

  

1 。それぞれhadoop001、MySQLサービスノード開始hadoop002
 2 。それぞれhadoop001、hadoop002 keepalivedのサービスノード開始
 3仮想IP :. 192.16880 0.40 MySQLサービスの接続、および操作、正常か否かを確認する
 4 。現在の仮想IPことを想定それはhadoop001ノード落ちる
 5。hadoop001停止MySQLサービス・ノードは、関連するMySQLの操作を再度、それが正常であるかどうかを確認します

 

おすすめ

転載: www.cnblogs.com/itall/p/11018748.html