mycatの可用性

1 mycatのクラスタ

mycatは、飼育係のクラスタファイル管理によって構成することができます

1.1ビルドのZooKeeperクラスタ

ここで説明するために、クラスタセットアップ飼育係ではありません

1.2コンフィギュレーションmycatサポート飼育係

mycat confディレクトリの下にmyid.propertiesを変更

=真loadZkに
#ZKクラスタアドレス""複数の分離
:2121,192.162.3.32:2121,192.162.3.33 zkURL = 192.162.3.31 2121
クラスタ#ZK MycatクラスタID内
CLUSTERID 1 = myCat-クラスタ- 。
本実施例でmyCatクラスタIDは、繰り返し禁止
MYID = mycat_fz_01
クラスタ#myCat内のノードの数
。clusterSize = 3
IDクラスタ内のすべてのノード#
clusternodes = mycat_fz_01、mycat_fz_02、mycat_fz_03
の#serverブースター; ONブースターはDB同じサーバにインストールし、すべてをリセットしますMinconに1
種類のサーバー=
boosterDataHosts = dataHost1

1.3カスタム構成

confディレクトリのzkconfディレクトリに設定ファイルを変更する必要が置き換えられます、あなただけのマシンを変更する必要がある、あなたはzkconfでユーザー名とパスワードでの注意を払うに矛盾へのconfディレクトリのserver.xmlを必要とします

1.4アップロードの設定

mycatプロファイルの下のbinディレクトリの下に実行されるのinit変更ZKの data.shを、アップロードプロファイル(マシン上で実行され、設定ファイルを変更)

./init ZK data.sh

1.5すべてのmycatを開始

スタートアップコンフィギュレーションファイルは、他のmycatで発見された後のconfは自動的に内容を変更するように変更された飼育係がダウンロードされます


2 mycatの可用性

本明細書で使用される場合、LVS + keepalivedの方法であります

LVS + keepalivedのは、紹介

LVS
LVSはLinuxの仮想サーバは、仮想サーバクラスタであることを意味しており、Linuxの仮想サーバーの略です。プロジェクトは1992年5月に博士張温-歌によって設立されました、それは最初に登場し、中国でのフリーソフトウェアプロジェクトの一つです。現在存在する3つのIP負荷分散技術(VS / NAT、VS / TUNとVS / DR)、スケジューリングアルゴリズムの10種類(RRR | WRR | LC | WLC | LBLC | lblcr | DH | SH | sedの| NQ)。

Keepalvied
keepalivedのは、ホストとの間で、主にマスターし、フェイルオーバーとして、ここで実現し、バックアップのRealServerホストの健康状態をチェックし

LVS + keepalivedのMyCAT可用性クラスタのロードバランシングの構造に基づいて、以下、前記、LVS MyCATの負荷分散、しかし、シンプルLVSは、バックエンド・ノードを監視していない、それはバックエンドサービスノードの特定のスケジューリングアルゴリズムへのアクセスだけで、健康です。同時に、単一LVSおよび単一障害点のリスクがあります。ここでは、keepalivedのの導入は、我々は次のような機能を実現することができます。

バックエンドノードが健全であることを確認してください1。
高可用性を実現するため2.自分自身をLVS。

2.1構成環境

ソフトウェアバージョンのオペレーティングシステムのバージョンのホストIPホスト名の役割

VIP 192.162.3.200

LVS-DR-マスター192.162.3.41 keepalived01 CentOS6.9 keepalivedのv1.2.13、LVS 1.2.1

LVS-DR-バックアップ192.162.3.42 keepalived02 CentOS6.9 keepalivedのv1.2.13、LVS 1.2.1

mycat-のRealServer 192.162.3.34 mycat01 CentOS6.9 mycat v1.6.5

mycat-のRealServer 192.162.3.35 mycat02 CentOS6.9 mycat v1.6.5

mycat-のRealServer 192.162.3.36 mycat03 CentOS6.9 mycat v1.6.5

2.2インストールとkeepalivedのipvsadmの

  注:ipvsadmのはLVSないカーネルの3.10で、LVS(CentOS1.1カーネルバージョン)がデフォルトでサポートされているので、それは、単にLVS設定ツールです。だからここにあなたは再インストールする必要はありません。

  便宜上、ここではyumのインストールが使用

  keepalived01 ipvsadmのkeepalivedのと二つのホストとkeepalived02に搭載されている

  のyum -y keepalivedのipvsadmのインストール

  この単純な方法に加えて、直接翻訳することができ、公式ソースパッケージを。

  LVS:<http://www.linuxvirtualserver.org/software/index.html>

  keepalivedの<http://www.keepalived.org/download.html>

  <ます。http://www.cnblogsインストール手順は、を参照してもよいです。 COM / mchina /アーカイブ/ 2012/ 5月23日/ 2514122.html>

2.3構成のkeepalivedの

2.3.1マスター

我々は/etc/keepalived/keepalived.conf

!keepalivedのための設定ファイル

global_defsは{
   {notification_email
     [email protected]#は、アラームの電子メールアドレスを設定し、あなたが複数、1行に1つずつ設定することができます。
     機械サービス開く必要sendmailの[email protected]の#
     [email protected]
   }
   notification_email_from [email protected]をメール送信アドレス設定#
   提供121.0.0.1#SMTPサーバーアドレスSMTP_SERVER
   30#smtp_connect_timeoutは、接続のSMTPサーバーで提供されますタイムアウト
   ROUTER_ID LVS_DEVEL位keepalivedのサーバーの識別の実行を表します。表示メール情報メッセージの件名
}

vrrp_instance VI_1 {
    文字状態MASTER#があるkeepalivedの指定マスタはホストがマスターサーバーであることを示し、BACKUPは、このホストが代替サーバであることを示している
    インタフェースETH4#割り当てるHA ifconfigコマンドまたはIPを介してネットワークインタフェースを監視しますネットワークインターフェース名を追加するビュー
    virtual_router_id 51#仮想ルーティングロゴ、ロゴは、一意のVRRPインスタンスを使用して同じことを識別する番号です。すなわち、同じvrrp_instanceで、マスタとバックアップが一貫していなければならない
    優先順位100位の優先順位を定義し、数値が大きいほど、高い優先順位は、同じvrrp_instance下、MASTERのBACKUPは、優先度の優先順位よりも大きくなければならない
    advert_int 1#セットMASTER負荷秒でイコライザ同期チェック時間間隔の間にBACKUP
    認証{#セットの認証の種類とパスワード
        AUTH_TYPEパス#認証の種類を設定し、AHとPASSの2種類があり
        、同じvrrp_instanceにauth_pass 1111#認証パスワードセットは、MASTERとBACKUPは、通信のために同じパスワードを使用しなければならない
    }
    virtual_ipaddress {#は、仮想IPアドレスを設定し、仮想IPアドレスが複数、1行に1つずつ設けられてもよい
         192.162.3.200を
    }
}

指定し、仮想サーバを提供する192.162.3.200 {#2066 VIRTUAL_SERVER IPとポート間の仮想IPアドレスとポートサービスは、スペースで区切って
    6位(秒)検査時間の動作を設定しdelay_loop
    ロード・スケジューリング・アルゴリズムは、RRが設定されている場合、提供されたRR位lb_algo即ち、ポーリングアルゴリズム
    lb_kind機構を負荷分散のDR#LVSセット、NAT、TUN、DR 3選択可能なモード
    nat_mask 255.255.255.0
    persistence_timeout保持時間セッション#50、 (秒)。このオプションは、動的なページのために有用であるセッション共有クラスタシステムに適したソリューションを提供します。0実行ポーリングの負荷分散に設定し、数値を設定するには、指定の中に達成するために使用iphash方法を表している場合
                              、このセッションホールド機能では#を、それがこのセッションを超えるまで、ユーザの要求は、サービスノードに配布されていますホールド時間。
                              この場合、ユーザ操作動的ページであり、無応答タイムアウトセッションを維持するための最大時間であり、何も操作が50秒以内に行われない場合は、その#注意
                              #その後、次の動作が他のノードに配布されます、しかし、ユーザが操作、動的ページにあった場合、50秒の時間制限の対象ではない
    プロトコルTCP#転送プロトコルタイプを指定し、TCPとUDPの2種類がある

    192.162.3.34 2066 {#1ノード構成サービスreal_server、あなたは本当のIP実サーバを指定する必要がありますIPおよびポート、宛先ポートとの間の空間によって分離された
        重量1#を設定し、サービスノードの重み、重みは数値サイズを発現し、数が大きいほど、より高い重量、サイズが異なる性能サーバの重みを設定することができます
                              #異なる負荷分布、高い重みは、高性能サーバを提供することができ、比較的低性能サーバーので、システムリソースの使用の合理化及び割り当てに関して、低い重みを設定
        TCP_CHECK {#realserver状態検出設定部、秒単位で
            応答タイムアウト示さない3#3秒CONNECT_TIMEOUT
            リトライ3#数がnb_get_retryを
            3位表すdelay_before_retryリトライ間隔
            connect_port 2066
        }
    }
    real_server 2066 {192.162.3.35
        重量1
        TCP_CHECK {
            3 CONNECT_TIMEOUT
            nb_get_retry。3
            delay_before_retry。3
            connect_port 2066
        }
    }

 real_server 2066 {192.162.3.36
        重量1
        TCP_CHECK {
            CONNECT_TIMEOUT 3
            nb_get_retry 3
            delay_before_retry 3
            connect_port 2066
        }
    }
}

2.3.2バックアップ

他のホストと一致し、優先ステータスおよび修正に加えて、上記と同じファイル・バックアップ・マシンを変更します

keepalivedのための設定ファイル

global_defs {
   {notification_email
     [email protected]
     [email protected]
     [email protected]
   }
   notification_email_from [email protected]
   SMTP_SERVER 121.0.0.1
   smtp_connect_timeout 30
   ROUTER_ID LVS_DEVEL
}

vrrp_instance VI_1 {
    状態バックアップ#将状態从MASTER改为BACKUP
    インターフェースETH4は
    51 virtual_router_id
    優先99#修改优先级
    advert_int 1
    認証{
        AUTH_TYPE PASS
        auth_pass 1111
    }
    virtual_ipaddress {
         192.162.3.200を
    }
}

192.162.3.200 2066 {VIRTUAL_SERVER
    delay_loop 6
    lb_algo RR
    lb_kind DR
    nat_mask 255.255.255.0
    50 persistence_timeout
    プロトコルTCP

    192.162.3.34 2066 {real_server
        重量1
        TCP_CHECK {
            CONNECT_TIMEOUT 3
            nb_get_retry 3
            delay_before_retry 3
            connect_port 2066
        }
    }
    192.162.3.35 2066 {real_server
        重量1
        TCP_CHECK {
            CONNECT_TIMEOUT 3
            nb_get_retry 3
            delay_before_retry 3
            connect_port 2066
        }
    }
    real_server 192.162.3.36 2066 {
        体重1
        TCP_CHECK {
            CONNECT_TIMEOUT 3
            nb_get_retry 3
            delay_before_retry 3
            connect_port 2066
        }
    }
}

2上記の設定ファイルでは、特に注意を払う必要がある場合は、そのインターフェイス、インターネット関連の文書の展開はeth0のある、CentOS1にする前に、確かに、ネットワークインターフェースeth0が、しかしCentOS1で、インタフェースはeno16111136です生産の実際の状況に応じて適切な変更を行う必要があります

2.4インストール構成mycat

上記のインストールを参照してください

2.4.1バインド仮想VIP

MyCATで0:サーバLO上のバインディングのVIP アドレス、抑制ARP ブロードキャスト

あなた自身のコピー次のものを作成するrealserver.shここ命名mycat01とmycat02、mycat03 3つのホスト上で次のスクリプトを実行します

あなたは、エラーが発生したファイルまたはディレクトリを見つけることができない場合は、yumのはネットツールをインストール-y行います

#!/ binに/ bashのを
#description:コンフィグのRealServer
#此处IP与前面配置的虚拟IP一致
VIP = 192.162.3.200
 
は/etc/rc.d/init.d/functionsの
 
場合は"$ 1"
スタート)
       の/ sbin / ifconfigコマンドLO:0 $ VIPネットマスク255.255.255.255ブロードキャスト$のVIP
       / sbinに/ルートの追加$ -host VIP DEV LO:0
       エコー"1">は、/ proc / sys / net / IPv4の/ confに/ LO / arp_ignore
       エコー"2"> / procの/ SYS /ネット/ IPv4の/ confに/ LO / arp_announce
       エコー"1">は、/ proc / sys / net / IPv4の/ confに/すべて/ arp_ignore
       エコー"2">は、/ proc / sys / net / IPv4の/ confに/すべて/ arp_announce
       のsysctl -p>を/ dev / null 2>&1
       エコー"RealServerのスタートOK"
       ;;
ストップ)
       の/ sbin / ifconfigコマンドLO:

       エコー"0">は、/ proc / sys / net / IPv4の/ confに/ LO / arp_ignore
       エコー"0">は、/ proc / sys / net / IPv4の/ confに/ LO / arp_announce
       エコー"0">は、/ proc / sys / net / IPv4の/ confに/すべて/ arp_ignore
       エコー"0">は、/ proc / sys / net / IPv4の/ confに/すべて/ arp_announce
       エコー"のRealServer立ち止まっ"
       ;;
*)
       エコー"使い方:$ 0 {開始|停止}"
       1番出口
ESACの
 
終了0

マシン上./realserver.shスタートを実行します

2.4.2ビュー

ビューifconfigコマンドを実行します


2.5スタートKEEPLIVE

それぞれkeepalived01 とkeepalived02 にkeepalivedのを開始するサービス

サービスkeepalivedの開始

2.5.1ビュー

-Lビューは、ipvsadmの通過マッピングの結果に似て表示され、理論的に成功

[ルート@ 192〜]#ipvsadmの-L                       
IP Virtual Serverのバージョン1.2.1(サイズ= 4096)
ProtのをlocalAddress:ポートスケジューラ旗
  - > [リモート:ポートフォワード重ActiveConn InActConn
TCP 192.162.3.200:2066 RR永続的な50
  - > 192.162。 3.34:2066ルート1 0 0        
  - > 192.162.3.35:2066ルート1 0 0        
  - > 192.162.3.36:2066ルート1 0 0 

2.5.2テスト

データベース見つかりましたログインすることができますmysqlの私たちの仮想IPを搭載したマシンを介して接続

[192ネットワーク・スクリプト@ルート]#mysqlの-uroot -pdigdeep -P2066 -h192.162.3.200
のmysql:[警告]コマンドラインインターフェイス上でパスワードを使用するには、安全でないことができます。
MySQLのモニタへようこそ。コマンドは、で終わります。または\グラム。
MySQLの接続IDが301である
5.6.29-mycat-1.6.5リリース- 20120122220033 MyCatサーバー(OpenCloundDB):Serverバージョン

著作権(C)2000、2016、Oracleおよび/またはその関連会社。全著作権所有。

Oracleは、Oracle Corporationおよび/またはそのの登録商標です
関連会社。その他の名称はそれぞれの商標または登録商標です
所有者。

「助けを;」タイプ 助けのためか、「\ H」。現在の入力文をクリアするために「\ C」を入力します。

MySQLの>

2.5.3ビューフォワーディング

ipvsadmの-L再度実行するようにマシンをkeepalivedの一旦35の上方にあることが見出され

[ルート@ 192〜]#ipvsadmの-L
IP Virtual Serverのバージョン1.2.1(サイズ= 4096)
ProtのをlocalAddress:ポートスケジューラ旗
  - > [リモート:ポートフォワード重ActiveConn InActConn
TCP 192.162.3.200:2066 RR永続的な50
  - > 192.162。 3.34:2066国道1 0 0        
  - > 192.162.3.35:2066国道1 0 1        
  - > 192.162.3.36:2066国道1 0 0        
[ルート@ 192〜]#

2.5.4負荷分散方法

ハッシュが割り当てられますあなたは、厳密な意味で達成したいならば、我々は、リクエストに機械一貫して50秒で50人の代表として指定persistence_timeoutプロパティにkeepalivedのプロファイルので、コンフィギュレーションに関連して、繰り返し、機械にここでのポイントを見つけました上記ポーリングは、0に変更することができます

[ルート@ 192〜]#ipvsadmの-L
IP Virtual Serverのバージョン1.2.1(サイズ= 4096)
ProtのをlocalAddress:ポートスケジューラ旗
  - > [リモート:ポートフォワード重ActiveConn InActConn
TCP 192.162.3.200:2066 RR永続的な50
  - > 192.162。 3.34:2066国道1 0 0        
  - > 192.162.3.35:2066国道1 1 3        
  - > 192.162.3.36:2066国道1 0 0        
[ルート@ 192〜]#


おすすめ

転載: blog.51cto.com/14579491/2458968