Debian安装配置RocketMQ

安装配置

本次安装在/tools/rocket目录下

  • 下载
复制代码
wget https://dist.apache.org/repos/dist/release/rocketmq/5.3.1/rocketmq-all-5.3.1-bin-release.zip
  • 解压缩

    unzip rocketmq-all-5.3.1-bin-release.zip

如果出现以下报错

复制代码
-bash: unzip: command not found

可安装unzip工具后执行解压缩命令

复制代码
root@iZuf67owyzd0wopzvdfgsyZ:/tools/rocket# apt-get install unzip
  • 重命名(非必须,只是为了操作方便)

    mv rocketmq-all-5.3.1-bin-release rocketmq

  • 进入rocketmq目录

    cd rocketmq

  • 进入bin目录

    cd bin

  • 修改内存配置(非必须,server默认4g,broker默认8g ,我的服务器支撑不起那么大的,需要调小)
    修改server内存配置

    vim runserver.sh

修改broker内存配置

复制代码
vim runbroker.sh
  • 修改conf目录下日志存储路径

    cd ../conf
    sed -i 's#${user.home}# /tools/rocket/rocketmq#g' *.xml

  • 修改broker.conf,ip、port需自行替换
    注意:debian的vim不能直接复制,需要:set mouse-=a后才能复制

    brokerClusterName = DefaultCluster
    brokerName = broker-a
    brokerId = 0
    deleteWhen = 04
    fileReservedTime = 48
    brokerRole = ASYNC_MASTER
    flushDiskType = ASYNC_FLUSH
    namesrvAddr=ip:port
    brokerIP1=ip
    autoCreateTopicEnable=true
    autoCreateSubscriptionGroup=true

  • 编写启动脚本
    新建sh目录,创建脚本
    server启动脚本

    vim start-server.sh

脚本内容如下,ip、port需自行替换

复制代码
nohup /tools/rocket/rocketmq/bin/mqnamesrv -n ip:port > start-server.log 2>&1 &

broker启动脚本

复制代码
vim start-broker.sh

脚本内容如下,ip、port需自行替换

复制代码
nohup sh /tools/rocket/rocketmq/bin/mqbroker -n ip:port -c /tools/rocket/rocketmq/conf/broker.conf > start-broker.log 2>&1 &
  • 启动server和broker

    root@iZuf67owyzd0wopzvdfgsyZ:/tools/rocket/rocketmq/sh# sh start-server.sh
    root@iZuf67owyzd0wopzvdfgsyZ:/tools/rocket/rocketmq/sh# sh start-broker.sh

  • jps查看是否运行

    root@iZuf67owyzd0wopzvdfgsyZ:/tools/rocket/rocketmq/sh# jps
    473859 BrokerStartup
    474962 Jps
    473712 NamesrvStartup

安装dashboard

安装完rocketmq,需要安装下可视化工具,这个工具在 rocketmq下载页的最下方

这个在本地或服务器上运行均可,仅演示在服务器上的情况

把启动端口替换成18080,我的8080端口是被占用的(非必须)

复制代码
server:
  port: 18080

将ip:port自行替换成rocketmq的ip:port

复制代码
rocketmq:
  config:
    # if this value is empty,use env value rocketmq.config.namesrvAddr  NAMESRV_ADDR | now, default localhost:9876
    # configure multiple namesrv addresses to manage multiple different clusters
    namesrvAddrs:
      - ip:port
  • 打包
    首先将pom.xml中以下内容删除,否则在打包的时候可能会报Could not download

    执行打包命令

    mvn clean package -DskipTests=true

  • 启动dashboard
    打包完成后,进入target目录

    root@iZuf67owyzd0wopzvdfgsyZ:/tools/rocket/rocketmq/dashboard# cd dashboard/target
    root@iZuf67owyzd0wopzvdfgsyZ:/tools/rocket/rocketmq/dashboard/dashboard/target# ls
    checkstyle-cachefile generated-sources maven-status test-classes
    checkstyle-checker.xml generated-test-sources nohup.out
    checkstyle-result.xml maven-archiver rocketmq-dashboard-2.0.0.jar
    classes maven-shared-archive-resources rocketmq-dashboard-2.0.0.jar.original

运行jar包

复制代码
nohup java -jar rocketmq-dashboard-2.0.0.jar &

注意:需要开放18080、10909、10911、10912端口,否则会有connect to null failed报错

  • 访问服务器上的18080端口

添加用户密码验证

  • broker.conf开启acl认证

    vim broker.conf

添加aclEnable=true

  • 配置账号密码
    conf文件夹下plain_acl.yml自行变更管理员的accessKey(账号)和secretKey(密码)


重启server和broker

  • 处理dashboard
    rocketmq配置了账户密码,dashboard也要做相关的修改
    编辑dashboard的application.yml,将以下内容取消注释,配置为plain_acl.yml中变更的内容

    重新打包

    mvn clean package -DskipTests=true

切换至target目录启动jar包

复制代码
 nohup java -jar rocketmq-dashboard-2.0.0.jar &

浏览器访问18080接口,效果正常

注意:如果是本地启动的dashboard,还要调整plain_acl.yml的ip白名单,将本地的ip添加上去

参考资料

1\].[rocketmq下载页](https://rocketmq.apache.org/download/ "rocketmq下载页")

相关推荐
shepherd1113 天前
一文带你从入门到实战全面掌握RocketMQ核心概念、架构部署、实践应用和高级特性
架构·消息队列·rocketmq
异常君4 天前
RocketMQ 延时消息实现原理与源码分析
java·rocketmq
cubicjin4 天前
Rocket客户端消息确认机制
rocketmq
异常君5 天前
RocketMQ 消息顺序性:从原理到实战的完整解决方案
java·rocketmq
计算机毕设定制辅导-无忧学长10 天前
RabbitMQ 与其他 MQ 的对比分析:Kafka/RocketMQ 选型指南(二)
kafka·rabbitmq·rocketmq
计算机毕设定制辅导-无忧学长11 天前
RabbitMQ 与其他 MQ 的对比分析:Kafka/RocketMQ 选型指南(一)
kafka·rabbitmq·rocketmq
Java 技术轻分享13 天前
RocketMQ 5.0 核心概念与架构解析
中间件·架构·rocketmq·rocketmq5.0
Java 技术轻分享15 天前
初识 RocketMQ 知识总结:基础概念、架构解析、核心特性与应用场景
云原生·中间件·架构·消息队列·rocketmq
良枫16 天前
RocketMQ消息拉取模式详解
java·rocketmq
卡布奇诺-海晨16 天前
RocketMQ 生产消费消息消息解析与重试机制详解
python·rocketmq·java-rocketmq