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 タグ

推薦する

nginx で正規表現を使用してワイルドカードドメイン名を自動的に一致させる方法

Nginxは正規表現を使用して、ワイルドカードドメイン名をディレクトリに自動的に一致させます。 Ng...

MySQL パーティションテーブルの制限と制約の詳細な説明

ビルドを無効にするパーティション式では、次の構成はサポートされません。ストアドプロシージャ、ストアド...

Linuxコマンドをバックグラウンドで実行する方法

通常、ターミナルでコマンドを実行する場合、別のコマンドの入力を開始する前に、現在のコマンドが終了する...

MySQL の大きなデータ テーブルにフィールドを追加する方法

序文フィールドの追加は誰でもよく知っていると思います。簡単に記述できます。MySQL テーブルにフィ...

nginx ロケーション優先度の詳細な説明

場所表現タイプ~ は大文字と小文字を区別して通常の一致を実行することを示します~*は大文字と小文字を...

CentOS MySQLデータベースのスケジュールバックアップを実装する方法

次のスクリプトは、MySQLデータベース全体のスケジュールされたバックアップに使用されます。 mys...

MySQL で重複時間を削除して時間差を計算する実装

目次必要:ドライブ:アイデア:成し遂げる:個人的には、実際の開発ではストアド プロシージャの使用はお...

Vueのシンプルな状態管理ストアモードを理解する方法

目次概要1. store.jsを定義する2. store.js を使用するコンポーネント3. 成果を...

mysql はフィールドコンテンツの一部を置き換え、mysql は関数 replace() を置き換えます。

[mysql] replace の使用方法 (フィールドの内容の一部を置き換える) [mysql]...

メニューノードのすべての子ノードを再帰的に検索する MySQL メソッド

背景プロジェクトにはメニューノードのすべてのノードをチェックする要件があります。オンラインでチェック...

VMWare に CentOS 7.3 をインストールするグラフィカル チュートリアル

CentOS 7.3のインストール手順を図解しました。具体的な内容は次のとおりです。この記事では、v...

開発効率を向上させる 20 の JavaScript ヒント

目次1. 配列を宣言して初期化する2. 合計、最小値、最大値を計算する3. 文字列、数値、オブジェク...

Apache ab を使用して HTTP パフォーマンス テストを実行する

MacにはApache環境が付属していますターミナルを開き、sudo apachectl -v と入...

CSS フォント、テキスト、リストのプロパティの詳細な紹介

1. フォントのプロパティcolorは、div{color:red;}のようにテキストの色を指定しま...

Nginx の http リソース リクエスト制限の詳細な説明 (3 つの方法)

前提条件: nginx には、ngx_http_limit_conn_module モジュールと n...