Docker インストール rocketMQ チュートリアル (最も詳細)

Docker インストール rocketMQ チュートリアル (最も詳細)

RocketMQ は、Alibaba が設計した分散型のキューベースのメッセージング ミドルウェアで、次の機能を備えています。

  • 厳密なメッセージ順序付けをサポート
  • トピックモードとキューモードをサポート
  • 数十億のメッセージが蓄積される可能性がある
  • フレンドリーな分散機能
  • メッセージの消費にはプッシュモードとプルモードの両方をサポート
  • Tmall Double 11の大量メッセージの多くのテストの後
  • RocketMQ は純粋な Java で記述されており、通信フレームワーク Netty に基づいています。

実際、編集者は、RocketMQ が Tmall Double Eleven の膨大なメッセージ量のテストに何度も耐えてきたため、RocketMQ を選択すべきだと感じています。さらに、数十億のメッセージを蓄積する能力があります。このような強力なコンポーネントは、新しいダークホースです。次に、Centos7 で docker を使用して rocketMQ をインストールする方法を説明します。

1. Namesrvをインストールする

画像をプルする

docker pull rocketmqinc/rocketmq:4.4.0 

/usr/localディレクトリに新しいフォルダmqを作成します。

コマンド: mkdir mq

コンテナを起動する

docker run -d -p 9876:9876 -v {独自のパス}/data/namesrv/logs:/root/logs -v {RmHome}/data/namesrv/store:/root/store --name rmqnamesrv -e "MAX_POSSIBLE_HEAP=100000000" rocketmqinc/rocketmq:4.4.0 sh mqnamesrv

以下に示すように、私のパスは/usr/local/mqです。

パスは自分でカスタマイズできます。パスを置き換えるだけ

予防

{your own path} は、ホスト マシン上で MQ ログとデータを保存する場所に置き換える必要があります。Docker の -v パラメータを介してボリューム機能を使用して、ローカル ディレクトリをコンテナー内のディレクトリにマップします。それ以外の場合、すべてのデータはデフォルトでコンテナ ランタイムのメモリに保存され、再起動後に元の開始点に戻ります。

2. ブローカーをインストールする

broker.conf ファイルを作成する

1: {own path}/confディレクトリにbroker.confファイルを作成します。

以前の/usr/local/mqディレクトリに入り、mkdir confコマンドを入力して新しいconfディレクトリを作成します。

次に、confディレクトリにコマンドtouch broker.confを入力して新しいファイルを作成します。

vi broker.conf コマンドを入力し、キーボードの Insert キーを押して挿入を開始します。

broker.confに以下を記述します

ブローカークラスタ名 = デフォルトクラスタ
ブローカー名 = ブローカー-a
ブローカーID = 0
削除時 = 04
ファイル予約時間 = 48
ブローカーロール = ASYNC_MASTER
フラッシュディスクタイプ = ASYNC_FLUSH
brokerIP1 = {ローカルパブリックIP} 

(私のサーバーは Alibaba Cloud です。矢印はパブリック IP アドレスを示しています)

入力後、Escキーを押し、Shiftキーを押し、Vキーを押します。

終了するにはwq!と入力してください

コンテナを起動する

docker run -d -p 10911:10911 -p 10909:10909 -v {独自のパス}/data/broker/logs:/root/logs -v {独自のパス}/rocketmq/data/broker/store:/root/store -v {独自のパス}/conf/broker.conf:/opt/rocketmq-4.4.0/conf/broker.conf --name rmqbroker --link rmqnamesrv:namesrv -e "NAMESRV_ADDR=namesrv:9876" -e "MAX_POSSIBLE_HEAP=200000000" rocketmqinc/rocketmq:4.4.0 sh mqbroker -c /opt/rocketmq-4.4.0/conf/broker.conf 

予防

知らせ: {独自のパス}は前の手順と同じなので、ここでは繰り返されません。 broker.conf ファイル内の brokerIP1 は、Namesrv に登録されているブローカーの IP です。指定しない場合は、デフォルトでコンテナの内部 IP アドレスが使用されます。アプリケーションがネットワークに接続されたコンテナーにもデプロイされていない限り、ブローカー サービスにローカルまたはコンテナー外部で接続できず、RemotingTooMuchRequestException などのさまざまな例外が発生します。

3. RocketMQコンソールをインストールする

画像をプルする

docker pull styletang/rocketmq-console-ng 

ミラードッカーpsを表示

RocketMQコンソールを起動する

docker run -e "JAVA_OPTS=-Drocketmq.namesrv.addr=サーバーのパブリックネットワークIP:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false" -p 8080:8080 -t styletang/rocketmq-console-ng 

実行ステータスを表示する

ステータスup で操作が成功したことを示しています。

ドッカーps -a 

ブラウザアクセス

ファイアウォールのポートを開くことを忘れないでください

以下もご興味があるかもしれません:
  • DockerにRocketMQをインストールするための実装手順
  • Docker Desktop で rocketmq をインストールするための非常に詳細なチュートリアル
  • Docker での RocketMQ の詳細なインストールと使用
  • RocketMQ の Docker インストールとインストール中に発生した問題の解決策

<<:  VUE ユニアプリテンプレート構文についての簡単な説明

>>:  XHTML 入門チュートリアル: よく使われる XHTML タグ

推薦する

Mysql5.7でのスケジュールバックアップの実装

1. MySQL インストール パス D:\xxx\MYSQL\MySQL Workbench CE...

LinuxにNginxを素早くインストールする方法

目次nginxとは1. 必要な依存関係をダウンロードする2. nginxの圧縮パッケージをダウンロー...

React+Amapは緯度と経度をリアルタイムで取得し、住所を特定します

目次1. マップを初期化する2. マップポイント3. 位置決めを有効にする4. マップの変更を監視す...

Docker の Windows ストレージ パス設定操作

Windows 10 に Docker をインストールする場合、コンテナタイプを Linux コンテ...

純粋な CSS 流星群の背景サンプルコード

GitHubアドレス、気に入ったらスターを付けてくださいプラグインのプレビューチュートリアルコード表...

CentOS7.6にMYSQL8.0をインストールする詳細な手順

1. 一般的に、CentOS では mariadb がデフォルトでインストールされているため、まず ...

C++ を使用して MySQL に接続する方法

C++でMySQLに接続する際の参考情報です。具体的な内容は以下のとおりです。 MySQLCon ク...

Docker Compose の実践とまとめ

Docker Compose は、Docker コンテナ クラスターのオーケストレーションを実現しま...

ウェブページを作るときに注意すべき5つのポイント

1. 色合わせの問題<br />Web ページには 3 色以上使用しないでください。そう...

LeetCode の SQL 実装 (196. 重複するメールボックスを削除する)

[LeetCode] 196.重複したメールを削除するSQL クエリを記述して、Person とい...

Vue ElementUI フォームのフォーム検証

フォーム検証は、フロントエンド開発プロセスで最もよく使用される機能の 1 つです。私の個人的な仕事経...

ページングクリックコントロールを実装するネイティブJS

これは、ネイティブJSを使用してページングクリックコントロールを実装する必要がある面接の質問です。参...

Web ページのデザインを学ぶときに習得すべきコードは何ですか?

この記事では、Web ページ制作を学ぶ過程で習得すべきテクニックの一部を詳しく紹介します。これらの内...

Nginx は動的と静的の分離を実装します 例の説明

ウェブサイトの解析を高速化するために、動的ページと静的ページを異なるサーバーで解析して、解析速度を向...

Vueコンポーネント通信のさまざまな方法の詳細な説明

目次1. 父から息子へ2. 息子から父へ3. 親子関係のないコンポーネントの値の転送4. ヴュークス...