ディレクトリ
原則
ZooKeeperのが達成使用マスタースレーブの実装では、ActiveMQのは効果的なソリューションであること非常に入手可能です。
可用性の原則:
- ZooKeeperの(クラスタ)を使用して、すべてのActiveMQブローカーを登録します。
- のみブローカのいずれか(すなわち、マスターノード)外部サービスを提供することができ、他のブローカをスレーブとみなされ、待機状態にあります。
- マスターが障害にサービスを提供できない場合は、内部のメカニズムのZooKeeper選挙の使用は、マスターブローカは、スレーブからのノードとして動作することを選択サービスを提供していきます。
環境の準備
ホスト名 | システム | IPアドレス | ZKポート | MQバージョン | MQメッセージングポート | MQのコンソールポート | |
---|---|---|---|---|---|---|---|
node01 | Centos7.5 | 172.16.1.11 | 2181 | 5.15.6 | 61616 | 8161 | |
node02 | Centos7.5 | 172.16.1.12 | 2181 | 5.15.6 | 61616 | 8161 | |
node03の | Centos7.5 | 172.16.1.13 | 2181 | 5.15.6 | 61616 | 8161 |
飼育係のクラスタ
インストールの記事前のZooKeeperクラスタは、導入されたCentOSの7飼育係のプレゼンテーションおよびクラスタのインストールを、これはまた、環境の使用です。
ActiveMQのインストール
ダウンロード:
- 公式サイトをダウンロード
- Baiduは、ディスクのダウンロードアドレス雲 x5ua:抽出コードを
以下の操作は、3台のサーバの動作に必要とされています。
cd /opt/soft/
tar xf apache-activemq-5.15.6-bin.tar.gz
mv apache-activemq-5.15.6 /opt/activemq-5.16.6
ln -s /opt/activemq-5.16.6 /opt/activemq
ls -ld /opt/activemq*
# lrwxrwxrwx 1 root root 20 Mar 1 14:22 /opt/activemq -> /opt/activemq-5.16.6
# drwxr-xr-x 10 root root 193 Sep 4 2018 /opt/activemq-5.16.6
コンフィギュレーション
修正、
次の行brokerName
値activemq-cluster
、またはここで任意のカスタム値は、2つの追加の同じクラスタを示すことができますが必要です。
<broker xmlns="http://activemq.apache.org/schema/core" brokerName="activemq-cluster" dataDirectory="${activemq.data}">
変更II。
クラスタ関連の情報を増やす必要があり、情報の飼育係などを追加するには、次の通り:
あなたは、ソースファイルにpersistenceAdapterタグを削除することができ、その後、ポートに関連した変化の下に直接内容をコピーします。
この構成に続いて、残りの二つが構成する必要がある、唯一の違いは、する必要があることであるhostname
各機械修飾の名前と値に対応します。
<persistenceAdapter>
<!--<kahaDB directory="${activemq.data}/kahadb"/> -->
<replicatedLevelDB
directory="${activemq.data}/leveldb"
replicas="3"
bind="tcp://0.0.0.0:62222"
zkAddress="172.16.1.11:2181,172.16.1.12:2181,172.16.1.13:2181"
hostname="node01"
sync="local_disk"
zkPath="/activemq/leveldb-stores"
/>
</persistenceAdapter>
テストを開始
良い後は3台のサーバの上記の構成に応じて変更のテストを開始
/opt/activemq/bin/activemq start
# INFO: Loading '/opt/activemq-5.16.6//bin/env'
# INFO: Using java '/opt/jdk/bin/java'
# INFO: Starting - inspect logfiles specified in logging.properties and log4j.properties to get details
# INFO: pidfile created : '/opt/activemq-5.16.6//data/activemq.pid' (pid '12405')
注:すべての3つのサービスを開始した後、それは、以下のことを注意しなければならない、クラスタは正常であり、かつ唯一のマシンがサービスを提供するために、残りの2つは、ポートをリッスンしていません
見ます:
node01:
[root@node01 conf]# netstat -lntup | egrep '61616|8161|62222'
tcp6 0 0 :::8161 :::* LISTEN 12405/java
tcp6 0 0 :::62222 :::* LISTEN 12405/java
tcp6 0 0 :::61616 :::* LISTEN 12405/java
node02:
[root@node02 data]# netstat -lntup | egrep '61616|8161|62222'
[root@node02 data]#
node03の:
[root@node03 data]# netstat -lntup | egrep '61616|8161|62222'
[root@node03 data]#