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

相关推荐
刘~浪地球4 天前
消息队列--RocketMQ 架构设计与优化
架构·rocketmq
Rick19936 天前
rabbitmq, rocketmq, kafka这三种消息如何分别保住可靠性,顺序性,以及应用场景?
kafka·rabbitmq·rocketmq
有梦想的小何7 天前
从0到1搭建可靠消息链路:RocketMQ重试 + Redis幂等实战
java·redis·bootstrap·rocketmq
鬼先生_sir7 天前
SpringCloud-Stream + RocketMQ/Kafka
spring cloud·kafka·rocketmq·stream
小江的记录本12 天前
【RocketMQ】RocketMQ核心知识体系全解(5大核心模块:架构模型、事务消息两阶段提交、回查机制、延迟消息、顺序消息)
linux·运维·服务器·前端·后端·架构·rocketmq
__土块__13 天前
一次支付清结算系统线程池故障复盘:从任务积压到异步解耦的架构演进
java·消息队列·rocketmq·线程池·支付系统·故障复盘·异步架构
-南帝-14 天前
RocketMQ2.3.5+SpringBoot 3.2.11+ java17安装-集成-测试案例
java·spring boot·rocketmq
zs宝来了14 天前
RocketMQ 存储原理:CommitLog 与 ConsumeQueue 设计
rocketmq·存储·commitlog·consumequeue
饺子大魔王的男人15 天前
Linux 下 Apache RocketMQ 部署与公网访问实现指南
linux·apache·rocketmq
qq_40999093?19 天前
消息中间件:RabbitMQ、RocketMQ、Kafka快速上手
kafka·rabbitmq·rocketmq