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下载页

相关推荐
摇滚侠5 小时前
《RocketMQ 官网》阅读笔记 RocketMQ 订阅 (Subscription)
笔记·rocketmq
摇滚侠8 小时前
《RocketMQ 官网》阅读笔记 RocketMQ 消费者组(Consumer Group)消费者(Consumer)
笔记·rocketmq
摇滚侠1 天前
《RocketMQ 官网》阅读笔记 RocketMQ 消息队列 MessageQueue 消息 Messagege
笔记·rocketmq
Bug收容所1 天前
12305项目学习day5
java·spring boot·redis·mysql·spring·rocketmq
啊啊啊迈 旋棍2 天前
生态整合与实战篇:Spring Boot 整合 RocketMQ 完全指南
spring boot·rocketmq·java-rocketmq
坚持的小马3 天前
Rocketmq搭建操作步骤
java·rocketmq·java-rocketmq
Ai拆代码的曹操3 天前
RocketMQ 消息堆积排查实战:从 20 个消费者线程卡死到 rebalance 死亡螺旋
后端·rocketmq
码农学院3 天前
Spring Boot RocketMQ构建电商零售高并发订单处理系统
spring boot·rocketmq·java-rocketmq
阿里云云原生5 天前
会话即 Topic:RocketMQ LiteTopic 如何支撑 AI Agent 实现分钟级异步协作与精细化限流?
rocketmq
Ethan01078 天前
RocketMQ三高-高性能、高并发、高可靠
rocketmq