まず、環境情報
- centos7
- JDK 8
- rocketmq 4.7.0
第二に、インストール
ソフトウェアのインストールパッケージディレクトリを入力します。
cd /home/software/
ダウンロードRocketMQのバイナリインストールパッケージのバージョン、また、あなた自身のコンパイルをアップロードすることができます
wget https://mirror.bit.edu.cn/apache/rocketmq/4.7.0/rocketmq-all-4.7.0-bin-release.zip
ファイルを解凍したディレクトリの名前を変更
unzip rocketmq-all-4.7.0-bin-release.zip
# 重命名目录名
mv rocketmq-all-4.7.0-bin-release rocketmq
ディレクトリの移動は/ usr / localディレクトリを
mv rocketmq /usr/local
コンテンツを含むディレクトリをチェック
cd /usr/local/rocketmq
ll
drwxr-xr-x 2 root root 4096 Mar 5 19:44 benchmark
drwxr-xr-x 3 root root 4096 Mar 4 09:59 bin
drwxr-xr-x 6 root root 4096 Mar 4 09:59 conf
drwxr-xr-x 2 root root 4096 Mar 5 19:44 lib
-rw-r--r-- 1 root root 17336 Mar 4 09:59 LICENSE
-rw-r--r-- 1 root root 1338 Mar 4 09:59 NOTICE
-rw-r--r-- 1 root root 4948 Mar 4 09:59 README.md
ライセンス、注意、README.md宣言および特許請求の範囲情報のいくつかのバージョンを含みます。
ベンチマークは、実行が含まれ、ベンチマークプログラムのシェルスクリプトを、
ビンディレクトリには、様々な使用が含まれていRocketMQ シェルとCMDなスタートとして、スクリプトをネームサーバースクリプトmqnamesrv起動、ブローカスクリプトmqbroker等。
- confに三つの方法を含めた店舗の設定ファイル、ディレクトリへのブローカー・コンフィギュレーション・ファイル、logbackのログ設定ファイル。
libディレクトリが含まれていRocketMQに各モジュールのjarパッケージや他の依存のjarパッケージを。
第三に、サービスを開始
3.1ブートシーケンス
最初の起動ネームサーバを、次に起動し、ブローカーを
ネームサーバの起動3.2
nohup sh bin/mqnamesrv &
ことでJPS見るJavaプロセスのコマンド
[root@VM_0_15_centos rocketmq]# jps
12833 Jps
私が見つかりました。ネームサーバは、我々は、エラー・ログの原因を確認するために見て、起動しません。
tail -n 30 nohup.out
次のような情報は以下のとおりです。
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (mmap) failed to map 2147483648 bytes for committing reserved memory.
# An error report file with more information is saved as:
# /usr/local/rocketmq/hs_err_pid12459.log
メモリ不足のため起動できませんので、あなたが見ることができますRocketMQの適切私たちは下の設定を調整する必要があり、それは起動に失敗し、より多くのメモリの4G、当社のサーバーだけは2Gよりも必要な機能へのデフォルトの設定環境ニーズ:
vim bin/runserver.sh
デフォルトのメモリが4Gで見ることができます
JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g -Xmn2g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
私たちは、1Gに調整する必要が
JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn1g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
同様にブローカーはまた、この問題を持って、我々は構成が一緒に来ています
vim bin/runbroker.sh
JAVA_OPT="${JAVA_OPT} -server -Xms8g -Xmx8g -Xmn4g"
1Gに調整しました。
JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn1g"
再起動ネームサーバ:
nohup sh bin/mqnamesrv &
表示方法:
[root@VM_0_15_centos bin]# jps
1781 NamesrvStartup
1800 Jps
我々はすでに開始見ることができます
ブローカーの起動3.3
nohup ./bin/mqbroker -n monchickey:9876 &
表示方法:
[root@localhost rocketmq]# jps
1844 Jps
1781 NamesrvStartup
1837 BrokerStartup
私たちは見ることができますBrokerはまた始めました。
テスト開始メッセージの3.4生産と消費
環境変数を設定します。場所サーバーを
export NAMESRV_ADDR=localhost:9876
生産ニュース:
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
SendResult [sendStatus=SEND_OK, msgId=C0A8892F09D44DC639966908745C0000, offsetMsgId=C0A8892F00002A9F00000000000249FA, messageQueue=MessageQueue [topic=TopicTest, brokerName=localhost, queueId=1], queueOffset=209]
SendResult [sendStatus=SEND_OK, msgId=C0A8892F09D44DC63996690874790001, offsetMsgId=C0A8892F00002A9F0000000000024AAC, messageQueue=MessageQueue [topic=TopicTest, brokerName=localhost, queueId=2], queueOffset=209]
消費者ニュース:
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
ConsumeMessageThread_1 Receive New Messages: [MessageExt [brokerName=localhost, queueId=3, storeSize=180, queueOffset=32, sysFlag=0, bornTimestamp=1584753866001, bornHost=/192.168.137.47:46826, storeTimestamp=1584753866003, storeHost=/192.168.137.47:10911, msgId=C0A8892F00002A9F0000000000005AFA, commitLogOffset=23290, bodyCRC=724156045, reconsumeTimes=0, preparedTransactionOffset=0, toString()=Message{topic='TopicTest', flag=0, properties={MIN_OFFSET=0, MAX_OFFSET=208, CONSUME_START_TIME=1584754056909, UNIQ_KEY=C0A8892F08E74DC639966903F1100082, WAIT=true, TAGS=TagA}, body=[72, 101, 108, 108, 111, 32, 82, 111, 99, 107, 101, 116, 77, 81, 32, 49, 51, 48], transactionId='null'}]]
3.5サービスの停止
# 停止 Broker
sh bin/mqshutdown broker
# 停止 NameServer
sh bin/mqshutdown namesrv