MacOS RocketMQ安装

MacOS RocketMQ安装

文章目录

一、下载

  1. 打开官网,找到下载页面 https://rocketmq.apache.org/

  2. 下载最新版本的RocketMQ压缩包

  3. 将下载的压缩包解压到你选择的目录

二、安装

修改JVM参数

  1. 打开打开 runserver.shrunbroker.sh 文件,这两个文件通常位于 bin 目录下

  2. 修改以下 JVM 参数,确保 RocketMQ 可以在你当前环境下正常运行:

    sh 复制代码
    vi bin/runserver.sh
    vi bin/runbroker.sh
  3. 在这两个文件中,找到类似如下的 JVM 参数配置,并根据你的需求进行修改:

    sh 复制代码
    JAVA_OPT="${JAVA_OPT} -server -Xms2g -Xmx2g -Xmn1g"

启动关闭测试

  1. 进入bin目录并启动Name Server:

    复制代码
    nohup sh ./bin/mqnamesrv &
    #通过一下命令查看日志,确认Name Server启动成功
    cat nohup.out 或者 less nohup.out
  2. 进入bin目录并启动broker:

    1. 修改 broker配置文件

      sh 复制代码
      vi ~/.bash_profile #如果你使用的是bash
      #或者
      vi ~/.zshrc #如果你使用的是zsh
    2. 在文末尾添加以下行:

      sh 复制代码
      export NAMESRV_ADDR='localhost:9876'
    3. 保存关闭并刷新

      sh 复制代码
      source ~/.bash_profile
      #或者
      source ~/.zshrc
    4. 验证是否生效

      sh 复制代码
      echo $NAMESRV_ADDR
  3. 启动broker

    sh 复制代码
    nohup sh bin/mqbroker &
    #查看日志
    tail -f ~/logs/rocketmqlogs/broker.log

关闭测试

  1. 使用 mqshutdown 命令关闭 Name Server:

    sh 复制代码
    ./bin/mqshutdown namesrv

    这种方式安全且正确地关闭服务,确保资源和日志记录。

  2. 使用 jpskill 命令关闭进程:

    sh 复制代码
    jps
    kill <pid> #pid为需要关闭的进程ID

    这种方式直接强制终止进程,可能导致资源未释放和数据丢失

  3. 关闭broker

    sh 复制代码
    ./bin/mqshutdown broker

测试收发消息

复制代码
  ##### 运行自带的生产者测试类

  1. 进入 RocketMQ 的安装目录下的 `bin` 目录。
  2. 执行生产者测试类:

  ```sh
  ./bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
  ```

  根据提示输入消息内容,并确认消息发送成功

  ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/195fdc7ec36a4550b5bd8c641d95fae9.png)
复制代码
  ##### 运行自带的消费者测试类

  1. 进入 RocketMQ 的安装目录下的 `bin` 目录。

  2. 执行消费者测试类:

     ```sh
     ./bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
     ```

     等待消费者接收消息并确认消费成功。

     ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/b7efe134821d4b42b1f8f6363fe8d70d.png)

     ##### 参考博客:https://blog.csdn.net/zhiyikeji/article/details/140911649
相关推荐
石榴树下的七彩鱼2 分钟前
医疗票据 OCR 识别 API 多场景落地指南:医保结算 + 商保理赔 + 医疗信息化(附 Python/Java 完整示例)
java·python·ocr·石榴智能·医疗票据ocr·医保结算·ocrapi
C137的本贾尼6 分钟前
Spring AI Alibaba 开箱:国产百炼大模型初体验
java·人工智能·spring
金銀銅鐵37 分钟前
[Java] 如何理解 class 文件中字段的 access flags?
java·后端
振浩微433射频芯片43 分钟前
告别“喊破嗓”:深度解析433MHz射频在宠物训练器中的核心应用与选型
单片机·嵌入式硬件·物联网·学习·宠物
小短腿的代码世界1 小时前
Qt国际化深度解析:从源码到企业级多语言实践
java·数据库·qt
知识分享小能手1 小时前
Flask入门学习教程,从入门到精通, Flask模板 — 完整知识点与案例代码 (2)
python·学习·flask
凌冰_1 小时前
IDEA 集成Claude Code
java·ide
SXJR1 小时前
Java中的Cross-Encoder模型解决方案
java·开发语言
彦为君1 小时前
JavaSE-11-BIO/NIO/AIO(多人聊天室)
java·开发语言·python·ai·nio
计算机安禾1 小时前
【c++面向对象编程】第43篇:可变参数模板(C++11):优雅处理不定长参数
java·开发语言·c++