参考:https://my.oschina.net/jayronwang/blog/861396
1. 前提先安装并设置好maven,jdk,git,这个网上有很多教程,就不讲了
2. 下载rocket mq源码,4.0版本后源码git地址已经迁移,新的地址如下:
git@github.com:apache/incubator-rocketmq.git
3. 进入rokect mq代码的源目录,执行maven如下命令,编译源码,生成可执行程序
mvn clean package install -Prelease-all assembly:assembly -U
或
mvn clean package install -Prelease-all assembly:assembly -U -Dmaven.test.skip=true
跳过test代码编译,执行很快,建议按照这种方式执行
编译完成后,截图如下,
4. 编译成功后,注意新增加target目录
cd target/apache-rocketmq-all/bin ,目录结构如下
其中runbroker.sh,runserver.sh,tools.sh三个脚本中,修改关于启动时对于堆内存的设置,原来命令中设置的内存都好几g,如下
JAVA_OPT="${JAVA_OPT} -server -Xms8g -Xmx8g -Xmn4g"
JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g -Xmn2g -XX:PermSize=128m -XX:MaxPermSize=320m"
JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn256m -XX:PermSize=128m -XX:MaxPermSize=128m"
调整内存到512m,防止因为内存不足而影响服务启动
JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256m"
JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256m -XX:PermSize=128m -XX:MaxPermSize=320m"
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m -XX:PermSize=128m -XX:MaxPermSize=128m"
5. 启动mqnamesrv,mqbroker服务
5.1 启动mqnamesrv服务
sh mqnamesrv (终端启动)
nohup sh mqnamesrv & (后台启动)
启动后,查看相关日志端口以及进程
查看进程: ps -ef|grep mq
查看端口: lsof -i:9876
启动日志默认输出到$HOME/logs/rocketmqlogs/namesrv.log
关闭服务:先通过ps -ef|grep mq 查询进程ID,然后通过kill命令杀掉进程
5.2 启动mqbroker服务
监听端口10911