springboot整合RocketMQ自身踩坑记录

1.win10环境下发送消息失败,提示磁盘空间不足

service not available now, maybe disk full, CL: 0.93 CQ: 0.93 INDEX: 0.93, m

此处的原因是电脑上C盘的剩余空间不多。RocketMQ的broker数据存储默认的目录是在C盘的当前用户文件夹下的store目录,需要有4G的空闲空间才能正常运行。

解决方案(二者选其一)

  1. 建立软链接。可以把store目录链接到其余空闲空间较多的磁盘目录中。

  1. 修改conf/broker.conf。在该文件末尾加上以下配置。

storePathRootDir=d:/logs/rocketmq/data/store
storePathCommitLog=d:/logs/rocketmq/data/store/commitlog
storePathIndex=d:/logs/rocketmq/data/store/index
storePathConsumeQueue=d:/logs/rocketmq/data/store/consumequeue

2.MQBrokerException: CODE: 1 DESC: create mapped file failed, server is busy or broker

解决方案

发现jdk是32位的,换成64位的oracle jdk就可以了,且jdk版本必须高于等于jdk8。

判断jdk是否64位可在命令行中输入java -version,如果有显示64-Bit的字样就是64位的,没有的话大概率是32位的

3.maven依赖和配置文件

pom.xml中添加RocketMQ的相关依赖(后两个依赖的version需和自己安装的版本号一致)

        <dependency>
            <groupId>org.apache.rocketmq</groupId>
            <artifactId>rocketmq-spring-boot-starter</artifactId>
            <version>2.2.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.rocketmq</groupId>
            <artifactId>rocketmq-client</artifactId>
            <version>5.0.0-ALPHA</version>
        </dependency>
        <dependency>
            <groupId>org.apache.rocketmq</groupId>
            <artifactId>rocketmq-common</artifactId>
            <version>5.0.0-ALPHA</version>
        </dependency>

yml配置

rocketmq:
  #nameservice服务器地址(多个以英文逗号隔开)
  name-server: 127.0.0.1:9876
  #生产者配置
  producer:
    group: my-group  # 指定发送者组名
    send-message-timeout: 6000 # 发送消息超时时间,单位:毫秒。默认为 3000 。
    compress-message-body-threshold: 4096 # 消息压缩阀值,当消息体的大小超过该阀值后,进行消息压缩。默认为 4 * 1024B
    max-message-size: 4194304 # 消息体的最大允许大小。。默认为 4 * 1024 * 1024B
    retry-times-when-send-failed: 2 # 同步发送消息时,失败重试次数。默认为 2 次。
    retry-times-when-send-async-failed: 2 # 异步发送消息时,失败重试次数。默认为 2 次。
    retry-next-server: false # 发送消息给 Broker 时,如果发送失败,是否重试另外一台 Broker 。默认为 false

4.bin目录和conf目录中一些配置文件的修改

  1. 修改runserver.cmd中的JVM参数值

原参数值

set "JAVA_OPT=%JAVA_OPT% -server -Xms2g -Xmx2g -Xmn1g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"

修改后的参数值

set "JAVA_OPT=%JAVA_OPT% -server -Xms256m -Xmx512m"
  1. 修改runbroker.cmd中的JVM参数值

原参数值

set "JAVA_OPT=%JAVA_OPT% -server -Xms2g -Xmx2g"

修改后的参数值

set "JAVA_OPT=%JAVA_OPT% -server -Xms256m -Xmx512m"
  1. 修改runbroker.cmd中的MaxDirectMemorySize

原参数值

set "JAVA_OPT=%JAVA_OPT% -XX:MaxDirectMemorySize=15g"

修改后的参数值

set "JAVA_OPT=%JAVA_OPT% -XX:MaxDirectMemorySize=1024m"
  1. 在conf/broker.conf中添加配置

namesrvAddr=127.0.0.1:9876
listenPort=10911
#broker监听的ip
broketIP1=127.0.0.1
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值