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

推薦する

MySQL バックアップ スクリプトの書き方

序文:データベースのバックアップの重要性は、特にデータの損失が深刻な結果を招く可能性がある実稼働環境...

MySQL スケジュールされたデータベース バックアップ操作の例

この記事では、MySQL のスケジュールされたデータベース バックアップ操作の例について説明します。...

Node.js の非同期ジェネレータと非同期反復の詳細な説明

序文ジェネレーター関数は、async/await が導入される前から JavaScript に存在し...

CSS でよく発生する問題の整理 (ロゴのハッキング/コンテナの固定/画像の垂直方向の中央揃え)

1. IEブラウザモードハックロゴ1. CSSハックロゴコードをコピーコードは次のとおりです。 ie...

フレックスレイアウトが子要素によって引き伸ばされたときに、コンテンツをコンテナ内に保持する方法

モバイル デバイスでは、フレックス レイアウトが非常に便利です。デバイスの幅に応じてコンテナーの幅を...

vue + Electron でデスクトップ アプリケーションを作成するためのサンプル コード

1.vueパッケージングここでは、vueネイティブパッケージングコマンドを使用してvueプロジェクト...

Linux で Golang をインストールする方法

Go は、シンプルで信頼性が高く、効率的なソフトウェアを簡単に構築できるオープンソース プログラミン...

Vue スクロールダウンしてさらにデータを読み込む スクロールケースの詳細な説明

vue-無限スクロールインストール npm インストール vue-infinite-scroll -...

Vue の el-table は自動天井効果を実現します (固定をサポート)

目次序文実装のアイデア効果:使用:メインソースコード:序文多くのケースを見た結果、単純な観点からは、...

js の getBoundingClientRect() メソッドの詳細な説明

1. getBoundingClientRect() 分析getBoundingClientRect...

ラジオボタンと複数選択ボタンは画像を使用してスタイル設定されます

ラジオ ボタンや複数選択ボタンにスタイルを追加する方法や、ボタンを大きくする方法を尋ねる人を以前見か...

WeChatミニプログラムマップの使い方を詳しく解説

この記事の例では、WeChatアプレットマップで使用される具体的な実装コードを参考までに共有していま...

Linux C ログ出力コード テンプレート サンプル コード

序文この記事は主に Linux C でのログ出力コード テンプレートに関する関連コンテンツを紹介し、...

ウェブサイトがhttpsを有効にした後のSSLのセキュリティ構成と検出

最近のウェブサイトでは SSL を有効にするのが標準となっています。ただし、SSL を設定した後も、...

MySQLトリガーはPHPプロジェクトで情報のバックアップ、復元、クリアに使用されます。

例: PHP バックグラウンド コードを通じて、従業員情報を削除したり、削除した従業員情報を復元した...