Centos6.9ビルドrabbitmq3.6.8クラスター

I.概要

RabbiMQはErangで開発されており、Erlangは分散言語として生まれているため、クラスタリングは非常に便利ですが、[Load Balancing](https://cloud.tencent.com/product/clb?from=10680)はサポートしていません。

RabbiMQモード

RabbitMQモードは、大きく次の3つのタイプに分けられます。
(1) シングルモード。
(2) 通常モード(デフォルトのクラスターモード)。
(3) ミラーモード(複数のノードに存在し、RabbiMQのHAスキームに属し、高いビジネス信頼性が必要な場合に適したミラーキューに必要なキューを作成します)。
ミラーリングモードを実現するには、最初に共通クラスターモードを構築してから、このモードに基づいてミラーリングモードを構成し、高可用性を実現する必要があります。

RabbiMQの機能

RabbitMQのクラスターノードには、メモリノードとディスクノードが含まれます。 RabbitMQはメッセージの永続性をサポートします
つまり、データはディスクに書き込まれます。最も適切な解決策は、メモリノードとディスクノードの両方を用意することです。

2.正式に設定

周囲

オペレーティングシステム ip ホスト名 構成
セントス6.9 192.168.31.7 mq_01 1コア2g
セントス6.9 192.168.31.216 mq_02 1コア2g
セントス6.9 192.168.31.214 mq_03 1コア2g

ここでの3つのサーバーはすべてインターネットに接続されていることに注意してください。さらに、RabbitMQクラスターノードは同じネットワークセグメントに存在する必要があります。WANを介している場合、影響はさらに悪化します。

ホストファイルを構成します

ホスト名を変更

3つのMQノードのコンピューター名をmq_01、mq_02、およびmq_03に変更してから、ホスト構成ファイルを変更します。

vim /etc/hostname

内容は以下の通りです。

mq_01

他の2つは同じ操作ですが、内容が異なります。

ホストレコードを追加

vi /etc/hosts

内容は以下の通りです。

192.168.31.7 mq_01
192.168.31.216 mq_02
192.168.31.214 mq_03

他の2つは同じ操作と同じ内容を持っています。

ホスト名を永続的にするには、3台のサーバーを再起動します。

reboot -f

yumソースを構成する

3 両方のサーバーをインストールします

yum install -y epel-release

**erlang **をインストールします##

3 両方のサーバーをインストールします

wget https://www.rabbitmq.com/releases/erlang/erlang-19.0.4-1.el6.x86_64.rpm
yum install -y socat
rpm -ivh erlang-19.0.4-1.el6.x86_64.rpm

**rabbitmq-server **をインストールします##

3 両方のサーバーをインストールします

wget https://www.rabbitmq.com/releases/rabbitmq-server/v3.6.8/rabbitmq-server-3.6.8-1.el6.noarch.rpm
rpm -ivh rabbitmq-server-3.6.8-1.el6.noarch.rpm

ディレクトリを作成する

3 両方のサーバーで実行します

mkdir -p /data/log/rabbitmq
mkdir -p /data/rabbitmq/mnesia
chown -R rabbitmq.rabbitmq -R /data/log/rabbitmq /data/rabbitmq/mnesia

構成ファイルを作成

3 両方のサーバーで実行します

vi /etc/rabbitmq/rabbitmq-env.conf

内容は以下の通りです。

RABBITMQ_LOG_BASE=/data/log/rabbitmq
RABBITMQ_MNESIA_BASE=/data/rabbitmq/mnesia

ウサギを始める

3 両方のサーバーで実行します

/etc/init.d/rabbitmq-server start

**erlang.cookie **をコピーします##

Rabbitmqクラスターは動作するためにerlangクラスターに依存しているため、erlangクラスターシーンを最初に構築する必要があります。 Erlangクラスターの各ノードは/var/lib/rabbitmq/.erlang.cookieに格納されているマジックCookieを介して実装され、ファイルには400の権限があります。したがって、各ノードのCookieが一貫していることを確認する必要があります。そうしないと、ノードは通信できません。

mq_01ノードにログインし、erlang.cookieを表示します

# cat /var/lib/rabbitmq/.erlang.cookie 
RUIRJRRZDNYEHCCWITRS

scpを使用して、mq_01ノードの.erlang.cookieの値を他の2つのノードにコピーします。

scp /var/lib/rabbitmq/.erlang.cookie [email protected]:/var/lib/rabbitmq/.erlang.cookie

scp /var/lib/rabbitmq/.erlang.cookie [email protected]:/var/lib/rabbitmq/.erlang.cookie

権限を設定し、他の2つを実行します

chown -R rabbitmq.rabbitmq /var/lib/rabbitmq/.erlang.cookie
chmod 400/var/lib/rabbitmq/.erlang.cookie

プラグインをインストール

RabbitMQは、非常に使いやすいグラフィカル監視ページプラグイン(rabbitmq_management)を提供します。これにより、Rabbitのステータスまたはクラスターのステータスを一目で確認できます。

3 両方のサーバーで実行します

rabbitmq-plugins enable rabbitmq_management

ポートを表示

netstat -napt|grep 5672

mq01ノードクラスターに参加します

mq01ノードクラスターにメモリノードとしてmq_02とmq_03を追加します

mq_02およびmq_03で次のコマンドを実行します。

ウサギのアプリを停止します

rabbitmqctl stop_app

ディスクノードに参加する

rabbitmqctl join_cluster --ram rabbit@mq_01

ウサギアプリを起動します

rabbitmqctl start_app

(1)デフォルトでは、rabbitmqは起動後のディスクノードです。このクラスターコマンドでは、mq02とmq03はメモリノード、mq01はディスクノードです。
(2)mq02とmq03を両方のディスクノードにする場合は、-ramパラメーターを削除するだけです。
(3)ノードタイプを変更する場合は、rabbitアプリケーションを停止する必要がある場合は、コマンドrabbitmqctl change_cluster_node_type disc(ram)を使用できます。

クラスターステータスの表示

3 すべてのノード、それを実行します

rabbitmqctl cluster_status

管理ユーザーを追加

3 すべてのノード、それを実行します

rabbitmqctl add_user admin 'admin123'
rabbitmqctl set_permissions -p / admin ...
rabbitmqctl set_user_tags admin administrator

説明:

最初のコマンドラインは、ユーザーadminが作成され、パスワードがadmin123であることを示しています。

コマンドの2行目は、管理ユーザーが仮想ホストのすべてのリソースに対する構成、書き込み、および読み取りのアクセス許可を「/」として持っていることを示しています。注:次の3つのドットは、これら3つの権限を示しています。

コマンドの3行目は、adminユーザーに管理者権限が割り当てられていることを示しています。

rabbitmqWeb管理コンソールにログインします

ブラウザを開き、http://192.168.31.7:15672と入力します。

ユーザー名:admin、パスワード:admin123

ログイン後、図のようなインターフェースが表示されます。

この記事の参照リンク:

https://www.cnblogs.com/shihaiming/p/11014257.html

Recommended Posts

Centos6.9ビルドrabbitmq3.6.8クラスター
Centos7ビルドKubernetesクラスター
CentOs7.3ビルドRabbitMQ3.6スタンドアロンサービス
CentOS7インストールrabbitmqクラスター(バイナリ)
CentOs7.3ビルドSolrCloudクラスターサービス
Centos6.9でのRabbitMQクラスター展開レコード
CentOS8でPXCクラスターを構築する
CentOS7ビルドジェンキンス
Centosビルドlnmp
Centos7ビルドpython3.8.5 + scrapy + gerapy
centOsはrabbitMQをインストールします
centos6.9rabbitmq3.6.8アップグレード3.8.2
(1)クラスター環境を構築するためのCentos7のインストール
CentOS7.3 64ビット、ビルドZabbix3.4
CentOSオンラインインストールRabbitMQ3.7
CentOSビルドプライベートgit
Linux(centos7)ビルドgitlab
centos7でk8s1.9.9をビルドする
CentOS7でScaleIO分散ストレージクラスターを構築する
CentOS6.7ビルドLNMP環境
CentOS7.3.1611はk8s1.5.2クラスターを展開します
CentOS6インストールcouchdb2クラスター
Centos7.6ビルドLNMP環境
CentOS7にRabbitMQをインストールします
CentOS7はRabbitMQサービスを展開します
CentOS6.8はzookeeperクラスターを展開します
Centos7mqttクラスターのインストール
ジェンキンスはセントスに基づいて構築されています
CentOSでHadoopを構築する
CentOSクラスター関連の問題
Centos7はKubernetesクラスターを展開します
Centos7ビルドDNSサービス
セントスにRabbitMQをインストールする
CentOS7にRabbitMQをインストールします
CentOSオンラインインストールRabbitMQ3.7
CentOS7はk8sクラスターを展開します
CentOS7にRabbitMQをインストールします
CentOS7ビルドLNMP環境
Centos6.5でドッカー環境を構築する
CentOs7.3ビルドSolrスタンドアロンサービス
CentOS7でOpenV **サーバーを構築する
CentOS7.6でzabbixモニタリングzabbix4.2をビルドする
Centos7.4デプロイメント構成Elasticsearch5.6クラスター
CentOS7でOpenLDAPサーバーを構築する
Centos7へのGlusterfsクラスターのインストール
CentOSでのRedisクラスターのインストール
CentOS7.6でzabbixモニタリングzabbix4.2をビルドする
CentOS 7 GaleraClusterインストールガイド
Centos7.2 /7.3クラスターインストールKubernetes1.8.4 +ダッシュボード
CentOSでMariaDBレプリケーションを構築する
CentOs7.3ビルドZooKeeper-3.4.9スタンドアロンサービス
CentOSでのRedisクラスターのインストール
centos6.9rabbitmqがSSLを設定
Centos7インストールk8sクラスター1.15.0バージョン
CentOS6はRabbitMQスクリプトを自動的にインストールします
まず、Centos7でCephストレージクラスターを構築してみてください
CentOS 8(2)
CentOS8.1ビルドGitlabサーバーの詳細なチュートリアル
Centos7hadoopクラスターのインストールと構成
CentOS7でのElasticsearchクラスター展開レコード
gitlabを構築するためのCentos6メソッドの手順