本次的RocketMQ环境配置也是费尽周折,辗转官方、博客、技术视频各个方面,耗时1天终于配置成功。我将尽可能简要准确的描述,如果有问题欢迎留言讨论,小编每周都会上线多次,可以及时回复。
1. 上传安装包
① jdk1.8 (注意一定要使用1.8+版本,1.7版本不能识别rocketMQ中的metaspace特性,该特性由1.8最新提出)
② rocketmq压缩包 下载地址(选择binary版)
因为阿里把rocketmq捐赠给了Apache,所以很多教程中的tar.gz文件是无从下载的。不管什么操作系统,只需下载以上的zip压缩包即可。并且选择binary版后,是无需配置maven的。
2. jdk 安装步骤略,步骤简单,资料也很多
3. rocketmq安装
①unzip解压缩rocketmq到指定位置,可以使用指令ln -s rocketmq-all-xxx rocketmq创建软连接(linux中的快捷方式),方便引用和配置。解压结果如下(注意unzip只能在本目录解压,不能指定解压目的位置,所以你需要先mv移动压缩包到指定位置再unzip)
②修改配置文件
在conf文件中,你可以看到以下文件夹,对应rocketmq的不同部署模式,而1m-noslave模式是由于部署条件有限并且不打算使用虚拟机,所以我自己添加的。
(以下分别是单主模式、双主双从-异步双写模式、双主双从-同步双写模式、双主模式)
于是我 vim 1m-noslave/broker-a.properties(配置文件也是我从2m2s拷贝来的,由于单主模式,只需要一个配置文件)
大家可以参考我的配置参数
解析:
15 broker集群名
16 当前broker服务器名
17 命名服务器地址(本机9876端口,必须配置)
20 listenId 外部访问端口
21 每天凌晨4点删除文件
22 没有被消费的消息保留48小时
24-27 建议读者在rocketmq下建立这样的目录结构,存放相关信息
29 最大消息限制,单位字节
30-31 自动创建Topic和Subscription,在测试阶段可以打开,正式上线后设为false,避免垃圾消息的攻击,导致盲目保留太多无用的消息文件
32 写入方式,分为同步异步
③ 启动mqnamesrv
在用户变量或系统变量中配置ROCKET_HOME为解压后的rocketmq位置(配置过程略,网上资料较多)
再输入nohup指令,加上&号后台运行。ignoring提示后输入enter。
如果通过jps查到NamesrvStartup则启动成功。启动失败的话vim nohup.out查看nohup日志,小编是因为jdk版本过低不能识别metaspace参数,改为1.8后即可正常运行。其它问题也可以通过查看日志文件分析,可能是路径错误等原因。
④ 启动broker服务
输入以下指令。-c后引用的是第②步配置的文件,至于/dev/null往后的参数不太明白,要输入后才能启动成功
⑤jps指令检查
配置完成!
4. 启动控制台
可以直接用jar包来启动,这个jar是我自己用maven编译好的。
nohup java -jar xxxx.jar & 即可
资源在 https://download.csdn.net/download/m0_37860933/10658490 ,也可以在评论中告诉我,免费私信给你。
也可以参考文章 RocketMQ最佳实践(四)可视化管理控制台rocketmq-console-ng 自己打包
考虑到大家的问题可能各不相同,欢迎各位留言讨论,我尽力及时回复大家!