• 概述
    要进行一个开源框架进行分析,那必定是要把项目代码拉取下来,然后不通过脚本exe/sh启动,而是通过在本地编译好然后启动服务,也就是源码环境的搭建。
  • 拉取代码
    git clone https://github.com/apache/rocketmq.git
  • centos7编写rocketmq启动脚本 rocketmq搭建_配置文件

  • 下载完成之后,就可以看到如图的项目结构了
  • 准备配置文件
    a.在项目root目录下面新建一个conf文件夹(一定需要建),用来存放日志配置文件。将项目的distribution模块的conf目录中的logback_broker.xml,logback_namesrv.xml拷贝到刚刚新建的conf目录下,如图:
  • centos7编写rocketmq启动脚本 rocketmq搭建_配置文件_02

  • b.在项目root目录下面新建mq_data(不一定需要建,可以使用默认),用来存放rocketmq运行时产生的数据。在这里我喜欢都将数据都自己归到项目一起,其实这个目录可以不建立就可以跑起来的,产生的日志和消息队列数据会自动默认保存在home目录下(mac)
  • centos7编写rocketmq启动脚本 rocketmq搭建_配置文件_03

  • 注意:如果打算将产生的日志都自己指定在mq_data的logs目录下,需要修改刚刚conf目录下logback_broker.xml,logback_namesrv.xml两个文件的配置,如下:
  • centos7编写rocketmq启动脚本 rocketmq搭建_xml_04

  • 启动namesrv
    a.配置ideal级别的环境变量
  • centos7编写rocketmq启动脚本 rocketmq搭建_配置文件_05

  • b.启动NamesrvStartup
  • centos7编写rocketmq启动脚本 rocketmq搭建_配置文件_06


  • centos7编写rocketmq启动脚本 rocketmq搭建_github_07

  • 启动broker
    a.配置ideal级别的环境变量和jvm参数

    参数说明:参数其实是指定 broker的相关参数,指定配置文件(在distribution下面)和namesrv,如下:
-c
/Users/wuxinxin/IdeaProjects/rocketmq/distribution/conf/2m-2s-sync/broker-a.properties
-n
localhost:9876

#切记在broker-a.properties中指定
避免使用默认数据路径:storePathRootDir路径:storePathRootDir=/Users/wuxinxin/IdeaProjects/rocketmq/mq-data/store/broker-a
避免端口冲突master和slaver:listenPort=20911

centos7编写rocketmq启动脚本 rocketmq搭建_xml_08


centos7编写rocketmq启动脚本 rocketmq搭建_xml_09


c.启动BrokerStartup

1.启动master

centos7编写rocketmq启动脚本 rocketmq搭建_xml_10


centos7编写rocketmq启动脚本 rocketmq搭建_github_11


2.启动slaver

centos7编写rocketmq启动脚本 rocketmq搭建_xml_12


centos7编写rocketmq启动脚本 rocketmq搭建_github_13


启动一个maser和slaver其实是一样的,换个配置文件就好了

  • 查看数据目录
  • 查看效果

    这里使用了界面工具,有兴趣可以搭建下,很简单(https://github.com/apache/rocketmq-externals)