前言
本文讲述 RocketMQ 从源码编译到配置启动以及测试的完整过程。
准备工作
- 安装 64bit JDK 1.8+
- 参考 安装 Maven 3.2.x+
- Linux 时间同步
yum install ntpdate -y
ntpdate time.windows.com
部署步骤
下载 / 编译
- 从 GitHub 下载 后编译(也可以从 Apache RocketMQ - releases 下载,或者走后面一步直接下载编译后的包)
echo "先创建单独目录" > /dev/null
mkdir -p ~/soft/rocketmq
echo "从 GitHub 下载源码" > /dev/null
wget -P ~/soft/rocketmq https://github.com/apache/rocketmq/archive/refs/tags/rocketmq-all-4.9.1.tar.gz
echo "解压到指定目录" > /dev/null
tar -xf ~/soft/rocketmq/rocketmq-all-4.9.1.tar.gz -C ~/soft/rocketmq
echo "进入解压目录" > /dev/null
cd ~/soft/rocketmq/rocketmq-rocketmq-all-4.9.1
echo "编译" > /dev/null
mvn -Prelease-all -DskipTests clean install -U -f ~/soft/rocketmq/rocketmq-rocketmq-all-4.9.1
echo "拷贝编译后的目录到/opt/soft"
cp -r ~/soft/rocketmq/rocketmq-rocketmq-all-4.9.1/distribution/target/rocketmq-4.9.1/rocketmq-4.9.1/ /opt/soft/
- 跳过源码编译,从 Apache 下载编译后的包
echo "从 Apache 下载编译后的包" > /dev/null
wget -P ~/soft/rocketmq https://dlcdn.apache.org/rocketmq/4.9.1/rocketmq-all-4.9.1-bin-release.zip
echo "解压" > /dev/null
unzip ~/test/rocketmq/rocketmq-all-4.9.1-bin-release.zip -d /opt/soft/
echo "修改目录名" > /dev/null
mv /opt/soft/rocketmq-all-4.9.1-bin-release/ /opt/soft/rocketmq-4.9.1
修改启动参数
启动脚本中设置的 JVM 内存参数很大,如果服务器内存不够的话可以按这一步调小一点。这里只是测试所以设置很小,生产环境可以默认或者更大一点。修改 Name Server 堆内存大小(比如 -Xms512m -Xmx512m -Xmn256m)。
vim /opt/soft/rocketmq-4.9.1/bin/runserver.sh
修改 Broker 堆内存大小(比如 -Xms512m -Xmx512m)
vim /opt/soft/rocketmq-4.9.1/bin/runbroker.sh
修改 tools.sh 指定 Name Server 地址 export NAMESRV_ADDR=localhost:9876,设置堆内存大小 (比如 -Xms512m -Xmx512m)
vim /opt/soft/rocketmq-4.9.1/bin/tools.sh
启动 / 停止
启动
# 后台方式启动 Name Server
nohup sh /opt/soft/rocketmq-4.9.1/bin/mqnamesrv &
# 后台启动 Broker
nohup sh /opt/soft/rocketmq-4.9.1/bin/mqnamesrv -n localhost:9876 &
停止
# 停止 Broker
sh /opt/soft/rocketmq-4.9.1/bin/mqshutdown broker
# 停止 Name Server
sh /opt/soft/rocketmq-4.9.1/bin/mqshutdown namesrv
日志查看
# 查看 Name Server 日志
tail -f ~/logs/rocketmqlogs/namesrv.log
#查看 Broker 日志
tail -f ~/logs/rocketmqlogs/broker.log
测试
测试发消息,最后 ctrl + c 结束。
sh /opt/soft/rocketmq-4.9.1/bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
测试消费消息,最后 ctrl + c 结束。
sh /opt/soft/rocketmq-4.9.1/bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。