RocketMQ介绍

RocketMQ消息队列(MQ),是一个开源的分布式消息和流平台,由阿里巴巴开发。它构建在Java虚拟机(JVM)之上,使用Java编写。RocketMQ旨在处理大量数据,并提供发布-订阅消息、消息过滤、容错和高可伸缩性等功能。

了解更多点击【你真的了解RocketMQ消息队列吗

安装环境

由于RocketMQ是基于Java开发的,所以需要安装一些环境

RocketMQ的安装下载

不想花时间看完该博客的,也可以参考官方的简单的安装流程【官方流程

接下来就由博主分享自己的安装经验 👉🏻 👉🏻 👉🏻

方式一:普通Linux下安装

下载RocketMQ

RocketMQ 官方网站

下载最新版的二进制包


  1. 创建RocketMQ文件夹
    1
    2
    3
    cd /usr/local

    mkdir rocketmq
  2. 上传服务器

    把从官网上下载的二进制zip包上传到/usr/local/rocketmq目录下

  3. 解压
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    # 安装unzip命令
    yum install unzip
    # 进入rocketmq目录
    cd /usr/local/rocketmq
    # 解压
    unzip rocketmq-all-5.2.0-bin-release.zip
    # 删除安装包
    rm -r rocketmq-all-5.2.0-bin-release.zip
    # 修改解压rocketmq后的文件名
    mv rocketmq-all-5.2.0-bin-release rocketmq-5.2.0
  4. 进入解压rocketmq后的目录
    1
    cd /usr/local/rocketmq/rocketmq-5.2.0
  5. 创建存放数据的目录
    1
    mkdir -p store data/commit-log data/consume-queue
  6. /rocketmq-5.2.0/conf/broker.conf文件中追加配置
    1
    2
    3
    4
    5
    6
    brokerIP1 =【服务器IP】
    listenPort=10911
    namesrvAddr=localhost:9876
    storePathRootDir=/usr/local/rocketmq/rocketmq-5.2.0/data
    storePathCommitLog=/usr/local/rocketmq/rocketmq-5.2.0/data/commit-log
    storePathConsumerQueue=/usr/local/rocketmq/rocketmq-5.2.0/data/consume-queue
  7. 修改内存

    进入/usr/local/rocketmq/rocketmq-5.2.0/bin目录,编辑runbroker.sh文件和runserver.sh文件,修改内存大小
    ps:如果服务器内存足够大,可以不用修改内存,博主的服务器内存小的可怜,只能被迫改了……

  8. 打开防火墙
    1
    2
    3
    4
    5
    6
    7
    # 开放防火墙 9876 和 10911 端口
    firewall-cmd --zone=public --add-port=9876/tcp --permanent
    firewall-cmd --zone=public --add-port=10911/tcp --permanent
    # 更新防火墙规则
    firewall-cmd --reload
    # 查看防火墙所有开放的端口
    firewall-cmd --list-port
  9. 启动

    /usr/local/rocketmq/rocketmq-5.2.0 目录下,执行下面命令

    • nohup&可以让程序在后台运行
    • 启动 broker时,-nnameserver的地址
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    # 启动 nameserver
    nohup sh bin/mqnamesrv &
    # 查看日志,判断是否启动成功
    tail ‐f ~/logs/rocketmqlogs/namesrv.log

    # 启动broker
    nohup sh bin/mqbroker -c conf/broker.conf ‐n localhost:9876 &
    # 下边这条命令在可以指定配置文件启动
    # nohup sh bin/mqbroker -c conf/custom.conf ‐n localhost:9876 & autoCreateTopicEnable=true
    # 查看日志,判断是否启动成功
    tail ‐f ~/logs/rocketmqlogs/broker.log

    # 关闭 broker
    sh bin/mqshutdown broker
    # 关闭 namesrv
    sh bin/mqshutdown namesrv
  10. 遇到问题
    1. 执行xxx出现-bash: mvn: command not found-bash: mvn: 未找到命令

      -bash: mvn: command not found

      -bash: mvn: 未找到命令

      Linux没有安装maven导致的,安装上Maven并修改环境配置即可【Maven在Linux下载安装及配置

方式二:Docker下安装

  1. 搜索RocketMQ镜像
    1
    2
    3
    ```
    2. 下载镜像
    ```shell
  2. 查看已经下载的镜像
    1
    2
    3
    ```
    4. 根据下载的镜像创建和启动容器
    ```shell
  3. 查看正在运行的容器
    1
    2
    3
    ```
    6. 进入RocketMQ容器内部
    ```shell
  4. 运行RocketMQ
    1
    2
    3
    4
    5
    6
    7
    8
    ```
    8. 访问验证
    {% note blue '' flat %}
    ip+端口进行浏览器访问:http://xxx.xxx.xxx.xxx:xxxxx
    {% endnote %}
    9. 退出RocketMQ容器内部
    ```shell
    exit

如果想删除镜像(分三步顺序执行:停容器 > 删容器 > 删镜像)

1
2
3
停用容器:docker stop 容器id
删除容器:docker rm 容器id
删除镜像:docker rmi 镜像id

xxxx

RocketMQ常见命令

Linux

内容补充