RocketMQ 环境搭建

RocketMQ 环境搭建

一. 开发环境

  1. 操作系统:CentOS7
  2. JDK1.8

二. 安装JDK

  1. 下载jdk-8u181-linux-x64.tar.gz包到/usr/local下

  2. 解压

    tar -zxvf jdk-8u181-linux-x64.tar.gz
    
  3. 重命名

    mv jdk1.8.0_181/ ./jdk1.8
    
  4. 配置Java环境变量

    修改配置文件/etc/profile

    vi /etc/profile
    

    在文件末尾增加Java环境变量配置

    export JAVA_HOME=/usr/local/jdk1.8
    export PATH=$PATH:$JAVA_HOME/bin
    

    保存退出,使修改生效

    source /etc/profile
    
  5. 输入java -version命令,如果出现以下提示,则表示JDK安装配置成功

    java version "1.8.0_181"
    Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
    Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)
    

三. RocketMQ源码下载与编译

  1. 源码包zip格式下载地址:http://rocketmq.apache.org/docs/quick-start/

    或者也可以通过Github下载源码:https://github.com/apache/rocketmq

  2. 使用IDEA导入项目,并使用Maven编译

    mvn -Prelease-all -DskipTests clean install -U
    
  3. 生成的jar包在rocketmq-distribution模块下,名称为apache-rocketmq.tar.gz

  4. 将apache-rocketmq.tar.gz拷贝到Linux的/usr/local路径下

四. RocketMQ的单节点部署

  1. 在/etc/hosts配置中添加RocketMQ节点信息

    192.168.31.197 rmq-namesrv01
    192.168.31.197 rmq-master01
    

    由于是单节点部署,所以在同一台机器上同时部署NameServer和Broker

  2. 创建目录,将文件解压到指定目录下

    mkdir rocketmq
    tar -zxvf apache-rocketmq.tar.gz -C ./rocketmq/
    
  3. 创建RocketMQ的存储路径,RocketMQ将所有数据都记录在磁盘的该路径下

    mkdir /usr/local/rocketmq/store
    mkdir /usr/local/rocketmq/store/commitlog
    mkdir /usr/local/rocketmq/store/consumequeue
    mkdir /usr/local/rocketmq/store/index
    
  4. 修改配置文件,这里以2m-2s-async 为例

    vi /usr/local/rocketmq/conf/2m-noslave/broker-a.properties
    

    将配置文件修改如下:

    #所属集群名字
    brokerClusterName=cluster-01
    #broker 名字,注意此处不同的配置文件填写的不一样 
    brokerName=broker-a
    #0 表示 Master,>0 表示 Slave
    brokerId=0
    #nameServer 地址,分号分割 
    namesrvAddr=192.168.31.197:9876 
    #broker地址
    brokerIP1=192.168.31.197
    #在发送消息时,自动创建服务器不存在的 topic,默认创建的队列数 
    defaultTopicQueueNums=4
    #是否允许 Broker 自动创建 Topic,建议线下开启,线上关闭 
    autoCreateTopicEnable=true
    #是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭 
    autoCreateSubscriptionGroup=true
    #Broker 对外服务的监听端口
    listenPort=10911
    #删除文件时间点,默认凌晨 4 点
    deleteWhen=04
    #文件保留时间,默认 48 小时
    fileReservedTime=120
    #commitLog 每个文件的大小默认 1G 
    mapedFileSizeCommitLog=1073741824
    #ConsumeQueue 每个文件默认存 30W 条,根据业务情况调整 
    mapedFileSizeConsumeQueue=300000 
    #destroyMapedFileIntervalForcibly=120000 
    #redeleteHangedFileInterval=120000
    #检测物理文件磁盘空间
    diskMaxUsedSpaceRatio=88
    #存储路径
    storePathRootDir=/usr/local/rocketmq/store
    #commitLog 存储路径 
    storePathCommitLog=/usr/local/rocketmq/store/commitlog 
    #消费队列存储路径存储路径 
    storePathConsumeQueue=/usr/local/rocketmq/store/consumequeue 
    #消息索引存储路径
    storePathIndex=/usr/local/rocketmq/store/index
    #checkpoint 文件存储路径 
    storeCheckpoint=/usr/local/rocketmq/store/checkpoint
    #abort 文件存储路径
    abortFile=/usr/local/rocketmq/store/abort
    #限制的消息大小
    maxMessageSize=65536
    #flushCommitLogLeastPages=4 
    #flushConsumeQueueLeastPages=2
    #flushCommitLogThoroughInterval=10000 
    #flushConsumeQueueThoroughInterval=60000
    #Broker 的角色
    #- ASYNC_MASTER 异步复制 Master 
    #- SYNC_MASTER 同步双写 Master 
    #- SLAVE
    brokerRole=ASYNC_MASTER
    #刷盘方式
    #- ASYNC_FLUSH 异步刷盘 
    #- SYNC_FLUSH 同步刷盘 
    flushDiskType=ASYNC_FLUSH
    #checkTransactionMessageEnable=false 
    #发消息线程池数量 
    #sendMessageThreadPoolNums=128 
    #拉消息线程池数量 
    #pullMessageThreadPoolNums=128
    

    配置的具体含义会在后面的文章中详细介绍。

  5. 修改日志配置

    mkdir /usr/local/rocketmq/logs
    cd /usr/local/rocketmq/conf && sed -i 's#${user.home}#/usr/local/rocketmq#g' *.xml
    

    RocketMQ在启动时,默认会分配8G的堆内存,我们在日常开发情况下可以根据需要修改JVM参数。

  6. 修改NameServer启动脚本

    vi /usr/local/rocketmq/bin/runserver.sh
    

    将JVM参数改为如下设置

    JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn512m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
    
  7. 修改Broker启动脚本

    vi /usr/local/rocketmq/bin/runbroker.sh
    JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn512m"
    
  8. 启动应用

    先启动NameServer

    cd /usr/local/rocketmq/bin/
    nohup sh mqnamesrv &
    

    再启动Broker,此时需要制定配置文件路径

    cd /usr/local/rocketmq/bin
    nohup sh mqbroker -c /usr/local/rocketmq/conf/2m-noslave/broker-a.properties &
    

五. RocketMQ控制台监控

  1. 从Github上下载rocketmq-externals工程源码:https://github.com/apache/rocketmq-externals

  2. 打开rocketmq-console工程,修改application.properties文件,指定NameServer地址:

    server.contextPath=
    server.port=8080
    #spring.application.index=true
    spring.application.name=rocketmq-console
    spring.http.encoding.charset=UTF-8
    spring.http.encoding.enabled=true
    spring.http.encoding.force=true
    logging.config=classpath:logback.xml
    #if this value is empty,use env value rocketmq.config.namesrvAddr  NAMESRV_ADDR | now, you can set it in ops page.default localhost:9876
    rocketmq.config.namesrvAddr=192.168.31.197:9876
    #if you use rocketmq version < 3.5.8, rocketmq.config.isVIPChannel should be false.default true
    rocketmq.config.isVIPChannel=
    #rocketmq-console's data path:dashboard/monitor
    rocketmq.config.dataPath=/tmp/rocketmq-console/data
    #set it false if you don't want use dashboard.default true
    rocketmq.config.enableDashBoardCollect=true
    
  3. 启动SpringBoot项目,访问http://192.168.31.197:8080,就可以看到RocketMQ的控制台界面。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张申傲

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值