【服務器環境搭建】之 CentOS 安裝 RocketMQ

RocketMQ

Apache RocketMQ™是一個統一消息引擎、輕量級數據處理平臺。

Apache RocketMQ™ is a unified messaging engine, lightweight data processing platform.

環境信息

  • Apache RocketMQ 4.6.0
  • CentOS Linux release 7.7.1908 (Core)
  • jdk-8u241-linux-x64
  • Apache Maven 3.5.2
  • git version 2.21.0 (Apple Git-122)
  • 4g+ free disk for Broker server

安裝

安裝包下載地址:
https://www.apache.org/dyn/closer.cgi?path=rocketmq/4.6.0/rocketmq-all-4.6.0-bin-release.zip

下載安裝包

[root@baimaduhe ~]# cd /usr/local/src/
[root@baimaduhe src]# wget http://mirror.bit.edu.cn/apache/rocketmq/4.6.0/rocketmq-all-4.6.0-bin-release.zip

解壓安裝包

## 解壓
[root@baimaduhe src]# unzip rocketmq-all-4.6.0-bin-release.zipp
## 將安裝文件拷貝到指定目錄
[root@baimaduhe src]# mv rocketmq-all-4.6.0-bin-release /usr/local/rocketmq

啓動RocketMq

## 啓動Name Server
[root@baimaduhe src]# nohup sh /usr/local/rocketmq/bin/mqnamesrv &
## 查看Namer Server 日誌
[root@baimaduhe src]# tail -f ~/logs/rocketmqlogs/namesrv.log
## 啓動Broker
[root@baimaduhe src]# nohup sh /usr/local/rocketmq/bin/mqbroker -n localhost:9876 >/dev/null 2>&1 &
## 查看Broker啓動日誌
[root@baimaduhe bin]# tail -f ~/logs/rocketmqlogs/broker.log

發送 & 接收消息

## 設置Name Server 環境變量
[root@baimaduhe bin]# export NAMESRV_ADDR=localhost:9876
## 發送消息
[root@baimaduhe bin]# sh /usr/local/rocketmq/bin/tools.sh org.apache.rocketmq.example.quickstart.Producer

## 接收消息
[root@baimaduhe bin]# sh /usr/local/rocketmq/bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer

停止服務

## 關閉broker
[root@baimaduhe bin]# sh /usr/local/rocketmq/bin/mqshutdown broker

## 關閉Name Server
[root@baimaduhe bin]# sh /usr/local/rocketmq/bin/mqshutdown namesrv

FAQ

Broker 啓動失敗,報錯信息如下

Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000005c0000000, 8589934592, 0) failed; error='Cannot allocate memory' (errno=12)
#
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (mmap) failed to map 8589934592 bytes for committing reserved memory.
# An error report file with more information is saved as:
# /usr/local/rocketmq/bin/hs_err_pid15314.log

原因:

內存不足,我的Linux是阿里雲ECS2C4G的

[root@baimaduhe bin]# free -m
              total        used        free      shared  buff/cache   available
Mem:           3602        1615         218           0        1768        1736
Swap:             0           0           0
[root@baimaduhe bin]#

解決方案

修改啓動vm內存配置
修改/usr/local/rocketmq/bin/ 下的服務啓動腳本 runserver.sh 、runbroker.sh 中對於內存的限制,​改成如下示例:

JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn500m"

參考資料

  • http://rocketmq.apache.org/docs/quick-start/
  • https://blog.csdn.net/u013680938/article/details/53392644
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章