首先下載rocketMQ
1.解壓:
> unzip rocketmq-all-4.3.0-source-release.zip > cd rocketmq-all-4.3.0/ > mvn -Prelease-all -DskipTests clean install -U (如果下載的是二進制文件可以直接解壓使用不需要編譯) > cd distribution/target/apache-rocketmq
如果下載的是二進制文件可以直接解壓使用不需要編譯,例如:
rocketmq-all-4.3.1-bin-release.zip 二進制,不需要編譯
rocketmq-all-4.3.1-source-release.zip 源碼,需編譯
2.Start Name Server
> nohup sh bin/mqnamesrv & > tail -f ~/logs/rocketmqlogs/namesrv.log The Name Server boot success...
3.Start Broker
> nohup sh bin/mqbroker -n localhost:9876 & > tail -f ~/logs/rocketmqlogs/broker.log The broker[%s, 172.30.30.233:10911] boot success...
4.Send & Receive Messages
> export NAMESRV_ADDR=localhost:9876 > sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer SendResult [sendStatus=SEND_OK, msgId= ... > sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer ConsumeMessageThread_%d Receive New Messages: [MessageExt...
5.Shutdown Servers
> sh bin/mqshutdown broker The mqbroker(36695) is running... Send shutdown request to mqbroker(36695) OK > sh bin/mqshutdown namesrv The mqnamesrv(36664) is running... Send shutdown request to mqnamesrv(36664) OK
如果遇到在啟動服務報內存不足,如下的錯誤:
There is insufficient memory for the Java Runtime Environment to continue.
There is insufficient memory for the Java Runtime Environment to continue.
Native memory allocation (mmap) failed to map 8589934592 bytes for committing reserved memory.
Possible reasons:
The system is out of physical RAM or swap space
In 32 bit mode, the process size limit was hit
Possible solutions:
Reduce memory load on the system
Increase physical memory or swap space
Check if swap backing store is full
Use 64 bit Java on a 64 bit OS
Decrease Java heap size (-Xmx/-Xms)
Decrease number of Java threads
Decrease Java thread stack sizes (-Xss)
Set larger code cache with -XX:ReservedCodeCacheSize=
This output file may be truncated or incomplete.
Out of Memory Error (os_linux.cpp:2640), pid=2428, tid=0x00007fada5259700
JRE version: (8.0_172-b11) (build )
Java VM: Java HotSpot(TM) 64-Bit Server VM (25.172-b11 mixed mode linux-amd64 compressed oops)
解決:
java運行時環境的內存不足,無法繼續,本機內存分配(mmap)未能映射8589934592字節,用於提交保留內存
解決辦法,找到runserver.sh和runbroker.sh,編輯
JAVA_OPT=”${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn125m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m”
改成如上就可以了