引言

    本文将讲解从Apache rocketmq 官网下载、Apache rocketmq 安装和Apache rocketmq 配置。由于rocketmq是阿里捐赠给Apache的。目前3.x以下版本为阿里版本。4.x为Apache托管版本。这里要说的是Apache的4.x版本。操作系统环境为centos6/7
1.准备工作

由于目前Apache没有提供直编译的下载文件。我们需要自己去GitHub下载源文件进行编译才能使用。因其环境是Java。所以需要使用jdk(注意必须是jdk,jre不能编译程序)
1.1需要的环境
  • 64位操作系统
  • 64位jdk1.8+
  • maven 3.2+
  • Git(用于下载源码。可手动下载则无需安装)

2.编译工作

2.1环境:  
由于我所使用的服务器上只有jre,也不想去服务器折腾编译环境所以我把编译工作放在了windows系统上。jdk的安装及配置可参考http://www.leftso.com/blog/35.html。maven去 Apache官网下载编译好的版本。将maven的bin目录添加到windows系统的环境变量path中即可。该操作可以参考jdk的环境变量配置。
2.2rocketmq源码下载
Apache rocketmq的源码GitHub地址为:https://github.com/apache/incubator-rocketmq/archive/rocketmq-all-4.1.0-incubating.tar.gz
下载后解压放在一个文件夹里面。
2.3编译
打开windows的cmd窗口。切换至解压后的rocketmq源文件根目录。执行命令:
mvn -Prelease-all -DskipTests clean install -U
这个步骤需要的时间可能有点长。因为maven需要下载相关的依赖文件。
直到出现以下内容则为编译成功:
编译rocketmq成功

3.上传项目至服务器

  为了偷懒。或者说保持和Apache操作一致。我将编译后的整个项目上传至服务。我存放路径为/user/local/rocketmq/incubator-rocketmq(可根据实际情况修改,incubator-rocketmq为项目的源码根目录)

4.配置rocketmq内存

  由于默认的rockertmq内存配置有点大。server的默认配置为4Gb,broker的默认配置为8Gb。测试机可能没有那么大的内存。则会导致各种启动失败。
切换至/usr/local/rocketmq/incubator-rocketmq/distribution/target/apache-rocketmq/bin目录。修改runserver.sh和runbroker.sh
使用vi打开runserver.sh并找到JVM Configuration配置将其修改:
jvm内存修改
这里的值可以根据具体情况来修改。
同样打开文件runbroker.sh修改jvm参数

最后将整个目录文件添加可执行权限。
chmod 755 *

5.启动停止rockermq服务

5.1启动name server
命令:
nohup sh bin/mqnamesrv &
查看启动情况
命令:
tail -f ~/logs/rocketmqlogs/namesrv.log
name server start success
5.2启动broker服务

启动命令:
nohup sh bin/mqbroker -n localhost:9876 &

查看启用情况:
tail -f ~/logs/rocketmqlogs/broker.log 
broker success

5.3停止name server 或者broker
切换至/usr/local/rocketmq/incubator-rocketmq/distribution/target/apache-rocketmq/bin目录
停止name server命令:
[root@localhost bin]# pwd
/usr/local/rocketmq/incubator-rocketmq/distribution/target/apache-rocketmq/bin
[root@localhost bin]# ./mqshutdown namesrv
The mqnamesrv(3077) is running...
Send shutdown request to mqnamesrv(3077) OK

停止broker命令:
[root@localhost bin]# ./mqshutdown broker
The mqbroker(3104) is running...
Send shutdown request to mqbroker(3104) OK
[1]-  Exit 143                nohup sh bin/mqnamesrv  (wd: /usr/local/rocketmq/incubator-rocketmq/distribution/target/apache-rocketmq)
(wd now: /usr/local/rocketmq/incubator-rocketmq/distribution/target/apache-rocketmq/bin)
[root@localhost bin]# 

 
暂无评论