RocketMQシリーズ:systemdを使用してネームサーバーとブローカーを管理する

バックグラウンド

以前のRocketMQシリーズは、ネームサーバーブローカーの両方nohupモードで起動されるマシン上でrocketmqを構築する方法を共有していました実際の運用・保守工程では、この種の起動にはさらに厄介な問題があります。たとえば、マシンがダウンした後、マシンが再起動され、ブローカーnamserverサービスが起動時に自動的に開始できず、サービスを開始するには各マシンにログインする必要があります。 。起動スクリプトを管理し、スクリプトを停止するためのより良い方法はありませんか?

これがシステム管理コンポーネントです:systemd。

ユニットファイルネームサーバーブローカーユニット続くsystemdとして記述し、それによってsystemdが管理することができます。次に、systemctl start / restart / stop xxxを使用してネームサーバーとブローカーを開始および停止し、systemctl enable xxxを使用して、ネームサーバーとブローカーを自動的に開始するように設定できます。

あまり意味がないので、ユニットファイルの作成を始めましょう。

nohup管理

1)ネームサーバー

启PIN:cd / usr / local / rocketmq / bin && nohup ./mqnamesrv -c namesrv.properties&

離:cd / usr / local / rocketmq / bin && sh mqshutdown namesrv

2)ブローカー

启PIN:cd / usr / local / rocketmq / bin && nohup sh mqbroker -c rmq-broker.conf&

表示:cd / usr / local / rocketmq / bin && shmqshutdownブローカー

上記の起動方法をユニットファイルに変更してみませんか?

パス/ usr / lib / systemd / systemの下に.serviceで終わるファイルを書き込むだけです。次に、これら2つのファイルを別々に書き込みます。

システム単位ファイル

1)ネームサーバーユニットファイルは次のように書き込まれます:  /usr/lib/systemd/system/rmq_namesrv.service

[単位]
説明= rmqAfter
= network.target

[サービス]

#HereTypeはsimpleType
= simpleと  書く必要があります

#ExecStartとExecStopは、それぞれsystemctlstartとsystemctlstopのときに動員されます
。ExecStart= / usr / local / rocketmq / bin / mqnamesrv -c /usr/local/rocketmq/bin/namesrv.properties
ExecStop = / usr / local / rocketmq / bin / mqshutdown namesrv

[インストール]
WantedBy = multi-user.target

2)ブローカーユニットファイルの準備:  /usr/lib/systemd/system/rmq_broker.service

[単位]
説明= rmqAfter
= network.target

[サービス]
Type = simple
ExecStart = / usr / local / rocketmq / bin / mqbroker -c /usr/local/rocketmq/bin/rmq-broker.conf
ExecStop = / usr / local / rocketmq / bin / mqshutdown browser

[インストール]
WantedBy = multi-user.target

systemctl start service

実行してみましょう:

まず、前のネームサーバーとブローカーを手動で停止し、ネームサーバーとブローカーのマシンでそれぞれ次のコマンドを実行します。 

ネームサーバー机器:/ usr / local / rocketmq / bin / mqshutdown namesrv

ブローカー机器:/ usr / local / rocketmq / bin / mqshutdownブローカー

次に、ネームサーバーとブローカーのマシンでそれぞれネームサーバーとブローカーを起動します

ネームサーバー

1)ネームサーバーを起動します

systemctl start rmq_namesrv

2)次に対応するステータスを確認します

systemctl status rmq_namesrv

次の図を参照してください。これは、起動が成功したことを示しています。

3)次に、起動時に自動的に開始するように設定します

systemctl enable rmq_namesrv

4)その他

ネームサーバーを停止する場合は、次のコマンドを実行します。systemctlstop rmq_namesrv

複数のネームサーバーがある場合は、それぞれに対して上記の関連操作を順番に実行します。

ブローカ

1)ブローカーを起動します

systemctl start rmq_broker

2)対応するステータスを表示する

systemctl status rmq_broker

次の図を参照してください。これは、起動が成功したことを示しています。

3)起動時に自動的に起動するように設定

systemctl enable rmq_broker

4)その他

ブローカーを停止する場合は、次のコマンドを実行します。systemctlstop rmq_broker

複数のブローカーがある場合は、それぞれに対して上記の関連操作を順番に実行します。

上記は、rocketmqの開始操作と停止操作を管理するためのsystemdの使用です。これがお役に立てば幸いです。メッセージを残してください。


ブロガー:お金を稼ぐためのテスト

モットー:テストと自動化に焦点を当て、研究開発の効率を改善するよう努めます。元の蓄積を完了するためのテストと勤勉さ、読書と財務管理から経済的自由まで。

csdn:https://blog.csdn.net/ccgshigao

ブログパーク:https//www.cnblogs.com/qa-freeroad/

51cto:https://blog.51cto.com/14900374


おすすめ

転載: blog.51cto.com/14900374/2576431