RocketMQ系列0x0——编译及简单部署

1. 获取源码

1.1. RocketMQ的主页

https://github.com/alibaba/RocketMQ

上面提供了一些使用方式,云上的,docker上的等等,我们从源码编译开始。

1.2. 检出源码

git-bash命令行方式:git clone https://github.com/alibaba/RocketMQ.git

浏览器或者下载工具下载地址:https://codeload.github.com/alibaba/RocketMQ/zip/master

如果需要特殊的版本,如图所示切换tag,然后检出

2. 前置条件

  1. jdk:源码的pom文件中指定了:<maven.compiler.source>1.6</maven.compiler.source><maven.compiler.target>1.6</maven.compiler.target>,因此最低版本需要安装1.6以上
  2. maven:无特殊要求
  3. nexus:项目中间接引用到了一个 jenkins-1.26.pom,中央仓库是找不到的,在jenkins的私有仓库。如果不配置nexus或者没有nexus的话,需要在源码pom里面指明仓库地址。仓库地址:http://repo.jenkins-ci.org/releases/

3. 编译

  1. 解压源码压缩包
  2. 进入源码目录,执行 mvn -Dmaven.test.skip=true clean package install assembly:assembly -U

注意:如果没有配置jenkins私有仓库地址,编译会卡在 rocketmq-tools 这里

4. 部署

将编译结果 alibaba-rocketmq-broker.tar.gz 解压,进入bin目录,阅读下 README.md 文档。

里面提到了在生产环境需要进行操作系统参数调优,是需要root权限的,且因为是直接写入系统配置文件,因此只能执行一次。这里我们只是简单的测试,就不用执行了

4.1. nameserver

  1. 查看启动脚本的说明:sh mqnamesrv -h 或者 sh mqna 大专栏  RocketMQ系列0x0——编译及简单部署mesrv --help

  2. 查看nameserver的所有配置项:sh mqnamesrv -p 或者 sh mqnamesrv --printConfigItem

    nameserver的配置比较简单,一般情况下不需要配置文件,有需要修改的将上图内容放到配置文件中,启动的时候-c 指定配置文件路径

  3. 启动:sh mqnamesrv

4.2. broker

  1. 查看启动脚本的说明:sh mqbroker -h 或者 sh mqbroker --help

  2. 查看broker的所有配置项:sh mqbroker -p 或者 sh mqbroker --printConfigItem

  3. 和nameserver不同的是,broker的配置项太多了,因此还提供了命令sh mqbroker -m 或者 sh mqbroker --printImportantConfig用来显示较重要的配置

    broker的配置比较简单,一般情况下不需要配置文件,有需要修改的将上图内容或者 sh mqbroker -p 的结果放到配置文件中,启动的时候-c 指定配置文件路径

  4. 启动:sh mqbroker -c ../conf/2m-noslave/broker-a.properties

    默认配置是不带namesrvAddr的,如果不在命令和配置文件中加上,那么broker能启动,但是不会去注册

    5. mqadmin

    提供了一些运维的子命令,直接运行可列出所有的子命令

5.1. 查看nameserver上注册的broker列表

命令:sh mqadmin clusterList -n 10.25.212.44:9876

5.2. 查看broker状态

命令:sh mqadmin brokerStatus -b 10.25.212.44:10911

猜你喜欢

转载自www.cnblogs.com/liuzhongrong/p/12371531.html