RabbitMQのクラスタの展開と高可用性

RabbitMQのインストールと使用

1、環境に依存してインストール

インストールRabbitMQのを確認してのerlangはhttp://www.rabbitmq.com/which-erlang.htmlページのバージョンに対応し、インストールする必要があります

https://github.com/rabbitmq/erlang-rpm/releasesページのerlangバージョン、 `のerlangをダウンロードする必要がありますを見つける - 。* Centos.x86_64.rpm`はCentOSのバージョンです。

あなたがダウンロードアドレスをコピーした後、ダウンロードしてwgetコマンドを使用し、wgetの-P /ホーム/ダウンロードhttps://github.com/rabbitmq/erlang-rpm/releases/download/v21.2.3/erlang-21.2.3-1.el7.centos .x86_64.rpm

ErlangのsudoのRPMをインストール-Uvh /home/download/erlang-21.2.3-1.el7.centos.x86_64.rpm

インストールプロンプトのopenssl-LIBS-1.0.2k-16.el7.x86_64.rpmをダウンロードする必要があります 'libcrypto.so.10(OPENSSL_1.0.2)(64ビット)が必要とされている' の場合、アドレスhttp://rpmfind.net/linux /centos/7.6.1810/os/x86_64/Packages/openssl-libs-1.0.2k-16.el7.x86_64.rpm、その後、回転数をアップグレードするために見て-ivhのopenssl-LIBS-1.0.2k-16.el7.x86_64.rpm --force

安装socatに関するsudoのyumは-y socatに関するをインストール

2、インストールのRabbitMQ

公式ダウンロードページhttp://www.rabbitmq.com/download.html)でインストールパッケージのrpmをダウンロードするには、ダウンロードリンクのCentOS7バージョンを見つけました

wgetの-P /ホーム/ダウンロードhttps://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.9/rabbitmq-server-3.7.9-1.el7.noarch.rpm

過去のバージョンはhttps://github.com/rabbitmq/rabbitmq-server/tagsでダウンロードすることができます

環境設定の追加  のvi / など/ RabbitMQの/ RabbitMQのを- ENV confがNODENAMEを追加、ときなしディレクトリに対応するディレクトリを作成し、=ウサギ@ localhostを

インストールsudoの回転数-Uvh /home/download/rabbitmq-server-3.7.9-1.el7.noarch.rpm

3、基本的な操作

サービス開始はsudoはRabbitMQのサーバを起動しsystemctl

ステータスはsudo systemctlステータスRabbitMQのサーバを見ます

RabbitMQのサーバーを停止systemctlサービスsudoを停止

RabbitMQのサーバーを有効に設定しsystemctlブートsudoを

オープンなWeb管理プラグRabbitMQの-プラグインはrabbitmq_managementを有効にする、RabbitMQのは、デフォルトのゲストユーザを持っていますが、唯一のローカルホストを経由してアクセスすることができますので、あなたは、リモートからアクセスするユーザーを追加する必要があります

ユーザーrabbitmqctl ADD_USERのadmin管理者を追加します。

ユーザーのためにrabbitmqctl set_user_tags管理者の管理者を操作する権限を割り当てます。

 ユーザーのためにrabbitmqctl set_permissions -p /管理リソースのアクセス権を割り当てます。 "*"。 "*"。 "*"

4、ファイアウォールのポートを追加

sudoのファイアウォール-CMD --zone =公共--add-ポート= 4369 / tcpの--permanentの
sudoのファイアウォール-CMD --zone =公共--add-ポート= 5672 / tcpの--permanentの
sudoのファイアウォール-CMD --zone = = 25672 / tcpの--permanentの公共--add-ポート
sudoのファイアウォール-CMD --zone =公共--add-ポート= 15672 / TCPの--permanent

ファイアウォールsudoのファイアウォールのcmd --reloadを再起動します。

マルチマシンマルチノードクラスタの展開

1、準備のRabbitMQは3台のマシン、IPは192.168.5.125,192.168.5.135,192.168.5.145たインストール

次のように2は、須藤VIM / etc / hostsに、ホストファイルを変更し、3台のマシンがそれぞれ追加され、須藤のSCPの/ etc /ホスト[email protected]によって:の/ etc / NODE2にコピー

192.168.5.125ノード1

192.168.5.135ノード2

192.168.5.145ノード3

3、(再起動後にまだ有効)ホスト名ホスト名hostnamectl設定ホスト名の対応する修正

4、他の二つのマシンにコピー/var/lib/rabbitmq/.erlang.cookieの192.168.5.125上のファイル

5、ファイアウォールのポートを追加するには、各マシン

図6に示すように、各マシンはRabbitMQのを開始し、須藤はRabbitMQのサーバまたはRabbitMQのサーバを起動systemctl -detached

7、192.168.5.135クラスタに、RabbitMQのアプリケーションrabbitmqctlのstop_appを停止し、RabbitMQのがnode1 --ram @クラスターrabbitmqctlのjoin_clusterウサギにrabbitmqctlリセットを設定リセット

RabbitMQのアプリケーションrabbitmqctlのstart_appを開始

図8は、[ウサギ@のノード1、ウサギの@ NODE2] `成功開始rabbitmqctlのcluster_statusを表すノード、` running_nodesを参照して、クラスタの状態を表示します

図9に示すように、管理インターフェイスのインターフェイスにおける端参照

ミラーモードのクラスタキュー

 ミラーキューがRabbitMQの高可用性ソリューションに属し、参照します。https://www.rabbitmq.com/ha.html#mirroring-arguments

クラスタの通常モードに属するクラスタを構築する前の段階では、クラスタは、メタデータを共有することによって達成され、

ミラーモードは、キュー管理戦略に道を追加し、ページを追加する必要が投入されています。

1.デフォルトの仮想ホストを選択管理ページに移動します「/」 - >管理 - (右ページ上)>ポリシー - >ポリシーを更新/追加

2.フォームに入力します。

名前:HA-すべてのポリシー名、保存、既存の名前を使用すると、元の情報を変更する場合は

ターゲットにどのような政策上のキュー:に適用されます

パターン:^ポリシーがオブジェクトに適用され、ルールに一致するオブジェクト名(正規表現)

優先順位:0優先度は、値が大きいほど、優先順位が高いが、同じ優先レベルは最後を取ります

定義: `ハ - モード '、` HA-params`と `ハ - 同期モード':キューをミラーリングするために、設定をポリシークラスの定義を受け、それが唯一の三つの部分が含まれています。ここで、 'HA-同期モード'同期方法、自動または手動で、自動的にデフォルト。`ハ・モード 'and` HA-params`の組み合わせ。構成は以下のとおりです。

  |すべて|(空)| |キューは、クラスタのカテゴリ内のすべてのノードにミラーリング

  |正確|クラスタノードへのミラーの指定された数の中のキューを|数えます。この値未満内のクラスタノードと、キューは、すべてのノードにミラーリングされます。この値は、ミラーが停止含むノードよりも大きい場合には、新たな画像が他のノードに作成されていません。|

  |ノード|ノード名|キューが指定されたノードにミラーリング、ノードがエラーなしで、クラスタ内の指定されていません。キューは述べたときは、指定したノードがオンラインでない場合、キューは、クライアント・ノードが接続されている上に作成されます。|

ミラーキューモードは通常モードと比較して、ミラーモードは、キューが特定のミラーよりも少ない、より多くの帯域幅を同期させる消費する通常モード、通常モードが、高度に利用可能でない、後部に連結されたノードは、このノードメッセージは、ポストコンシューマーノードが起動するまで待機する必要があるために、消費されることはありません。

ミラー・モード・キューに加えて、プラグインシャベルによって、フェデレーションは、高可用性を実現するために、しかし一般的に使用されていない、次の二つの方法の間の差であります

 

おすすめ

転載: www.cnblogs.com/hhhshct/p/11520400.html