RocketMQ学習プロセス(3)----RocketMQデプロイ(docker版)

RocketMQ デプロイ (Docker バージョン)

ここに画像の説明を挿入

1. 導入前の準備

  1. Linux マシン。(ここでは Aliyun の centos7 サーバーを使用しています)
  2. Docker 環境とそれに関連する簡単な知識。
  3. コンピュータ ネットワークに関する簡単な知識。(なぜこのようにデプロイされるのかを完全に理解するのに役立ちます)
    Docker デプロイは非常にシンプルかつ高速であり、さまざまなネットワークの特性に重点が置かれています。さまざまなネットワークの特性を理解していれば、関連するサービスを 2 回の操作でデプロイできます。半分の労力で結果が得られます。

前回のブログで基本的な 3 つの基本ネットワークを学習するには、リンクをクリックしてください。
ブログアドレス

参照文書:

  1. RocketMQ github 公式ドキュメントhttps://github.com/apache/rocketmq
  2. Docker は RokcetMQ (略して RokcetMQ) を迅速に構築します

2. 導入プロセス

注: 公式チュートリアルはホスト ネットワーク上に直接あります。ホスト ネットワークと同じです。そのため、ポートを開く必要はありません。複数のコンテナを開かないようにしてください。複数のコンテナはポートを変更する必要があります。複数のコンテナの場合は、ブリッジモードを使用します。

2.1. ネームサーバーの起動

docker run -it --net=host apache/rocketmq ./mqnamesrv

起動は比較的簡単で、追加の構成ファイルは必要ありません。

2.2. ブローカーの開始

  1. ブローカー構成を作成します (ネームサーバーとは異なり、ブローカーはルーティング登録用にブローカー アドレスを手動で構成する必要があります)。

ブローカーを開始したが、ルート内でブローカーが認証するアドレスを構成する必要がある場合、そうしないとコンシューマーを正しいルートに誘導できません。

エラーは以下に示されています
ここに画像の説明を挿入

ここでの ip には、できる限り外部ネットワーク ipを入力する必要があります(: 一般に、パーソナル コンピュータにはパブリック ネットワーク ip がありません。そのため、最初にローカル コンピュータのみを入力できます。そのため、プログラムはローカル コンピュータでも実行される必要があります)。ローカル コンピュータ)、ミドルウェア通信は通常、ホスト上で 1 つに限定されず、異なるホストや異なる場所でさえも正常であるため、

  1. ブローカーマウント関連フォルダーの作成
mkdir -p /usr/dockerrocketmq/rmqbroker01/logs
mkdir -p /usr/dockerrocketmq/rmqbroker01/conf
mkdir -p /usr/dockerrocketmq/rmqbroker01/store
vi /usr/dockerrocketmq/rmqbroker01/conf/broker.conf
  1. ブローカー構成ファイルを作成する
    ここに画像の説明を挿入
#nameserver的外网ip地址,这个一般为9876端口,这个配置项也可以不要,启动的时候指定
namesrvAddr=ip:port
brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
#broker主机所在的外网ip,非常关键
brokerIP1 = ip
listenPort=10911
  1. コンテナを作成する
docker run -it --net=host -v  /usr/data/broker/logs:/root/logs -v  /usr/dockerrocketmq/rmqbroker01/store:/root/store -v  /usr/dockerrocketmq/rmqbroker01/conf/broker.conf:/opt/rocketmq-4.9.4/conf/broker.conf --name rmqbroker   rocketmqinc/rocketmq sh mqbroker -n ip:9876 -c /opt/rocketmq-4.9.4/conf/broker.conf

非常に長いですが、中心となるアイデアは 3 つのボリュームをマウントすることであり、conf ボリュームをマウントする必要があります。そうしないと、外部ネットワーク IP が認識されなくなり、ミドルウェアが半無効な状態になってしまいます。

2.3.socketmq-dashboard を起動します (デプロイする必要はありませんが、初心者にはデプロイすることをお勧めします)

docker run -e "JAVA_OPTS=-Drocketmq.namesrv.addr=外网ip:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false" -p 8082:8080 -t pangliang/rocketmq-console-ng

ここには 8080 に何かがあるので、ポート 8082 に変更しました。

ここに画像の説明を挿入
ここに画像の説明を挿入

これで完了です。

おすすめ

転載: blog.csdn.net/faker1234546/article/details/130411342