共通環境のデプロイ (7) - Docker のインストール RocketMQ

1.namesrv サービスを作成する

(1) 画像を引っ張る

docker pull rocketmqinc/rocketmq

(2) データディレクトリを作成する

つまり、namesrv データ ストレージ パスを作成します。

mkdir -p /docker/rocketmq/nameserver/logs /docker/rocketmq/nameserver/store

(3) namesrv コンテナの構築

docker run -d --restart=always --name rmqnamesrv --privileged=true -p 9876:9876  -v /docker/rocketmq/nameserver/logs:/root/logs -v /docker/rocketmq/nameserver/store:/root/store -e "MAX_POSSIBLE_HEAP=100000000" rocketmqinc/rocketmq sh mqnamesrv

 (4) パラメータの説明

パラメータ 例証する
-d デーモンとして起動
- -restart=常に Docker の再起動時にコンテナーが自動的に再起動します。
- -name rmqnamesrv コンテナー名を rmqnamesrv に設定します
-p 9876:9876 コンテナーのポート 9876 をホスト 9876 にマウントします。
-v /docker/rocketmq/nameserver/logs:/root/logs ディレクトリマウント
-v /docker/rocketmq/nameserver/store ディレクトリマウント
rmqnamesrv コンテナ名
-e 「MAX_POSSIBLE_HEAP=100000000」 コンテナーの最大ヒープ メモリを 100000000 に設定します。
ロケットmqinc/ロケットmq 使用するイメージ名
sh mqnamesrv namesrv サービスを開始する

2. ブローカー ノードを作成する 

(1) broker.conf 設定ファイルを作成する

私のディレクトリは /opt/docker/rocketmq/broker.conf で、ファイルの内容は次のとおりです。

brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
namesrvAddr = 127.0.0.1:9876
brokerIP1 = 主机的IP

注: brokerIP1 の IP は大文字にする必要があります

(2) ブローカーコンテナを構築する

 docker run -d --restart=always --name rmqbroker --link rmqnamesrv:namesrv -p 10911:10911 -p 10909:10909 --privileged=true -v /docker/rocketmq/data/broker/logs:/root/logs -v /docker/rocketmq/data/broker/store:/root/store -v /docker/rocketmq/conf/broker.conf:/opt/docker/rocketmq/broker.conf -e "NAMESRV_ADDR=namesrv:9876" -e "MAX_POSSIBLE_HEAP=200000000" rocketmqinc/rocketmq sh mqbroker -c /opt/docker/rocketmq/broker.conf

 (3) パラメータの説明

パラメータ 例証する
-d デーモンとして起動
- -restart=常に Docker の再起動時にコンテナーが自動的に再起動します。
- -name rmqbroker コンテナー名を rmqbroker に設定します
- --link rmqnamesrv:namesrv rmqnamesrv コンテナーとの通信
-p 9876:9876 コンテナーのポート 9876 をホスト 9876 にマウントします。
-p 10909:10909 コンテナーの vip チャネル ポートをホストにマウントします。
-e 「NAMESRV_ADDR=namesrv:9876」 ローカルの namesrv の IP アドレスとして、namesrv のアドレスを指定します: 9876
-e「MAX_POSSIBLE_HEAP=200000000」rocketmqinc/rocketmq sh mqbroker ブローカー サービスの最大ヒープ メモリを指定します
ロケットmqinc/ロケットmq 使用するイメージ名
sh mqbroker -c /opt/docker/rocketmq/broker.conf 構成ファイルを指定してブローカー ノードを起動します

 (4) 注意事項

a. 次のエラーが報告された場合は、docker を再起動する必要があります

systemctl restart docker

b. 次のエラーが発生した場合

解決策 1:

borker.conf ファイルの書き込み時には、vim コマンドは使用されません。centosのテキストエディタで書いて使用します。削除後、vim コマンドで書き換えます。保存すると、問題が解決する場合があります。これはブロガーの理由ではありません。解決策 2 も参照してください。

解決策 2:

下の図のパス 1 をパス 2 に変更する必要があります。つまり、パス 1 はパス 2 と同じです。

 3. コンソールをインストールするための rockermq-console サービスを作成します。

(1) 画像を引っ張る

docker pull pangliang/rocketmq-console-ng

(2) rockermq-console コンテナをビルドしてコンソールを起動する

docker run -d --restart=always --name rmqadmin -e "JAVA_OPTS=-Drocketmq.namesrv.addr=自己的IP:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false" -p 8080:8080 pangliang/rocketmq-console-ng

(3) パラメータの説明

パラメータ 例証する
-d デーモンとして起動
-再起動=常に docker の再起動時にイメージが自動的に再起動します
-name rmqadmin  コンテナー名を rmqadmin に設定します
-e "JAVA_OPTS=-Drocketmq.namesrv.addr=自分の IP:9876 namesrv サービスの IP アドレスを設定する
Dcom.rocketmq.sendMessageWithVIPChannel=false VIP チャネルを使用せずにメッセージを送信する
–p 8080:8080 コンテナーのポート 8080 をホストのポート 9999 にマウントします。

(4) コンソールにアクセス

ブラウザを開いて http://IP:8080 にアクセスします

 (5) 注意事項

ファイアウォールを閉じるか、namesrv およびブローカー ポートを開く必要があります。コンソール サービスは、namesrv サービスにアクセスできません。

例外情報は次のとおりです。 org.apache.rocketmq.remoting.exception.RemotingConnectException : connect to failed

 ファイアウォールをオフにする

systemctl stop firewalld.service

指定ポートを開く

firewall-cmd --permanent --zone=public --add-port=9876/tcp
firewall-cmd --permanent --zone=public --add-port=10911/tcp
# 立即生效
firewall-cmd --reload

 クラウドサーバーの場合、セキュリティグループでポートを開く必要があります

Supongo que te gusta

Origin blog.csdn.net/wd520521/article/details/130060805
Recomendado
Clasificación