RocketMQ下载安装使用教程

RocketMQ环境搭建与测试

1.下载RocketMQ

https://rocketmq.apache.org/download/

这里下载的是 rocketmq-all-5.1.0 版本

2.安装RocketMQ

1.上传下载好的文件到服务器指定位置
2.解压文件
    unzip rocketmq-all-5.1.0-bin-release.zip 
3.修改配置文件 broker.conf
    vi rocketmq-5.1.4/bin/broker.conf

    # nameServer地址,如果有多个nameServer用分号分割
    namesrvAddr=你的ip地址:9876
    # 当前broker监听的IP
    brokerIP1:你的ip地址
4.修改runbroker.sh和runserver.sh的JVM参数
    vi rocketmq-5.1.4/bin/runbroker.sh
    vi rocketmq-5.1.4/bin/runbroker.sh

broker.conf

brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
# nameServer地址,如果有多个nameServer用分号分割
namesrvAddr=192.168.234.136:9876
# 当前broker监听的IP
brokerIP1:192.168.234.136

runbroker.sh

choose_gc_log_directory

JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m"

runServer.sh

choose_gc_options()
{
    # Example of JAVA_MAJOR_VERSION value : '1', '9', '10', '11', ...
    # '1' means releases befor Java 9
    JAVA_MAJOR_VERSION=$("$JAVA" -version 2>&1 | awk -F '"' '/version/ {print $2}' | awk -F '.' '{print $1}')
    if [ -z "$JAVA_MAJOR_VERSION" ] || [ "$JAVA_MAJOR_VERSION" -lt "9" ] ; then
      JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn200m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
      JAVA_OPT="${JAVA_OPT} -XX:+UseConcMarkSweepGC -XX:+UseCMSCompactAtFullCollection -XX:CMSInitiatingOccupancyFraction=70 -XX:+CMSParallelRemarkEnabled -XX:SoftRefLRUPolicyMSPerMB=0 -XX:+CMSClassUnloadingEnabled -XX:SurvivorRatio=8 -XX:-UseParNewGC"
      JAVA_OPT="${JAVA_OPT} -verbose:gc -Xloggc:${GC_LOG_DIR}/rmq_srv_gc_%p_%t.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps"
      JAVA_OPT="${JAVA_OPT} -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=30m"
    else
      JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
      JAVA_OPT="${JAVA_OPT} -XX:+UseG1GC -XX:G1HeapRegionSize=16m -XX:G1ReservePercent=25 -XX:InitiatingHeapOccupancyPercent=30 -XX:SoftRefLRUPolicyMSPerMB=0"
      JAVA_OPT="${JAVA_OPT} -Xlog:gc*:file=${GC_LOG_DIR}/rmq_srv_gc_%p_%t.log:time,tags:filecount=5,filesize=30M"
    fi
}

启动NameServer和broker

nohup sh bin/mqnamesrv > mqnamesrv.out 2>&1 &
nohup sh bin/mqbroker -n localhost:9876 --enable-proxy > mqbroker.out 2>&1  &

3安装rockermq dashboard(可视化控制台)

https://github.com/apache/rocketmq-dashboard/archive/refs/tags/rocketmq-dashboard-1.0.0.tar.gz

1.解压

#配置源
wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo
#安装
yum -y install apache-maven
#查看版本
mvn -version

2.配置阿里云镜像

vi /etc/maven/settings.xml

修改settings

<mirror>
   <id>alimaven</id>
   <name>aliyun maven</name>
   <url>https://maven.aliyun.com/repository/public</url>
   <mirrorOf>central</mirrorOf>
</mirror>

3.切换至源码目录,编译 rocketmq-dashboard

mvn clean package -Dmaven.test.skip=true

4.运行 rocketmq-dashboard

nohup java -jar target/rocketmq-dashboard-1.0.0.jar --rocketmq.config.namesrvAddr=192.168.234.136:9876 --server.port=9999 > rocketmq-dashboard.file 2>&1 & 

4.SpringBoot 整合RocketMQ

1.pom文件

<rocketmq-spring-boot-starter-version>2.0.3</rocketmq-spring-boot-starter-version>

<dependency>
        <groupId>org.apache.rocketmq</groupId>
        <artifactId>rocketmq-spring-boot-starter</artifactId>
        <version>${rocketmq-spring-boot-starter-version}</version>
 </dependency>

2.yml文件配置

rocketmq:
    consumer:
        syjstopic: your_topic
        group: SZYH_CONSUMER_GROUP
        # 一次拉取消息最大值,注意是拉取消息的最大值而非消费最大值
        pull-batch-size: 10
    name-server: 192.168.234.136:9876
    producer:
        # 发送同一类消息的设置为同一个group,保证唯一
        group: SPRINGBOOT_PRODUCER_GROUP
        syjstopic: fast_topic
        # 发送消息超时时间,默认3000
        sendMessageTimeout: 10000
        # 发送消息失败重试次数,默认2
        retryTimesWhenSendFailed: 2
        # 异步消息重试此处,默认2
        retryTimesWhenSendAsyncFailed: 2
        # 消息最大长度,默认1024 * 1024 * 4(默认4M)
        maxMessageSize: 4096
        # 压缩消息阈值,默认4k(1024 * 4)
        compressMessageBodyThreshold: 4096
        # 是否在内部发送失败时重试另一个broker,默认false
        retryNextServer: false

3 RockerMQ 消费者

@Slf4j
@Component
@RocketMQMessageListener(topic = "${rocketmq.consumer.syjstopic}",consumerGroup="${rocketmq.consumer.group}")
public class MQSyjsMsgListener implements RocketMQListener<MessageExt> {


    @Override
    public void onMessage(MessageExt message) {
        String msgId = message.getMsgId();
        String msg = new String(message.getBody());
        log.info("印花rocket消费信息 SYGL_SYJS ======msgId:{},message:{}",msgId,msg);

    }

}

4 RockerMQ 生产者 @Service @Slf4j public class MQSyjsMsgServiceImpl implements MQSyjsMsgService {

    @Autowired
    private RocketMQTemplate rocketMQTemplate;

    @Value("${rocket.producer.syjstopic}")
    private String topic;

    @Override
    public void sendSyjsMsg(MqSyjsReqDto dto) {
        SendResult sendResult = rocketMQTemplate.syncSend(topic, dto);
        log.info("印花rocket生产信息,发送结果{},MsgId {}", sendResult.getSendStatus(),sendResult.getMsgId());
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值