rocketMQ避坑记录

环境配置

1、	推荐使用64位OS,Linux/Unix/Mac
2、	64bit JDK 1.8+
3、	Maven 3.2.x
	  注意:在搭建rocketMQ前,需配置好JDK1.8,若用source release版需配置maven环境

rocketMQ下载地址

source release版下载地址:

http://mirror.bit.edu.cn/apache/rocketmq/4.2.0/rocketmq-all-4.2.0-source-release.zip

binary relese版下载地址:

https://mirrors.tuna.tsinghua.edu.cn/apache/rocketmq/4.2.0/rocketmq-all-4.2.0-bin-release.zip

搭建和启动rocketMQ source release

1、解压文件并编译

  > unzip rocketmq-all-4.2.0-source-release.zip #解压文件
  > cd rocketmq-all-4.2.0/ 
  > mvn -Prelease-all -DskipTests clean install -U #编译文件
  > cd distribution/target/apache-rocketmq

2、启动Name Server

    > nohup sh bin/mqnamesrv & #启动Name Server
    > tail -f ~/logs/rocketmqlogs/namesrv.log  #打印name server 日志
    The Name Server boot success... 
```		
3、启动Broker
> nohup sh bin/mqbroker -n localhost:9876 &  #启动mqbroker
> tail -f ~/logs/rocketmqlogs/broker.log #打印broker日志
The broker[%s, 172.30.30.233:10911] boot success...
4、接收和发送消息

在接收和发送消息之前,我们需要设置环境变量NAMESRV_ADDR > export NAMESRV_ADDR=localhost:9876 #设置NAMESRV_ADDR
> sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer #启动生产者 > sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer #启动消费者

5、关闭服务
> sh bin/mqshutdown broker   #关闭broker
> sh bin/mqshutdown namesrv  #关闭namesrv
## 问题总结

1、docker环境rocketMQ brokerIP1设置

     >cd /rocketmq-all-4.2.0/distribution/target/apache-rocketmq 进入rocketMQ根目录
     >echo "brokerIP1=10.6.99.105" > broker.properties # 编写配置文件,并写好配置
     >nohup sh bin/mqnamesrv & #启动 mqnamesrv 
     >nohup sh bin/mqbroker -n 10.6.99.105:9876 -c broker.properties &  #重点:mrbroker 启动时通过 -c 加载配置文件

2、 在Windows环境下启动nameServer报错

     在环境变量里的系统变量新增 ROCKETMQ_HOME,变量值为rocketMQ跟目录

3、 在win10环境下启动broker报无法找到主类错误

     删除系统变量里的path即可解决



   



对于 RocketMQ,有一些常见的坑需要注意。以下是一些可能遇到的问题和解决方法: 1. 顺序消息的顺序性问题:RocketMQ支持按顺序发送和消费消息,但在某些情况下,可能会出现消息乱序的情况。这可能是因为消息发送和消费的并发性导致的。解决方法是确保发送和消费消息时的并发性能够处理好顺序问题,或者使用顺序消息的特性来保证消息的有序性。 2. 消息重复消费:当消费者遇到异常情况或网络问题时,可能会导致消息重复消费。这可以通过在消费端实现幂等性来解决,即在消费消息时,检查是否已经处理过该消息,避免重复处理。 3. 消息丢失:在某些情况下,消息可能会丢失。造成消息丢失的原因可能是网络问题、消息发送失败等。为了避免消息丢失,可以设置消息发送的可靠模式为同步或异步,并在发送失败时进行重试。此外,还可以开启 RocketMQ 的高可用模式,使用主备模式或集群模式来保证消息的可靠传输。 4. 消费者负载均衡问题:当消费者数量较多时,可能会出现消费者负载不均衡的情况,导致部分消费者负载过重,影响整体性能。可以通过调整消费者组的配置参数来解决这个问题,例如调整消费者的线程数、消息拉取的间隔时间等。 5. 消息堆积问题:如果消息的生产速度大于消费速度,可能会导致消息堆积的情况。当消息堆积过多时,可能会影响 RocketMQ 的性能和稳定性。可以通过增加消费者的数量或者调整消费者的处理能力来解决消息堆积问题。 以上是一些可能遇到的 RocketMQ 的坑和解决方法,希望对你有帮助!如果你有其他关于 RocketMQ 的问题,欢迎继续提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值