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

相关推荐
一只小毛驴14 小时前
RocketMq 学习【环境调试】
rocketmq
想用offer打牌11 天前
一站式了解RocketMQ如何解决消息堆积问题😗
后端·面试·rocketmq
JWASX12 天前
【RocketMQ 生产者和消费者】- 消费者的订阅关系一致性
java·rocketmq·订阅一致性
想用offer打牌12 天前
一站式了解RocketMQ如何实现顺序消息😵
后端·rocketmq
计算机毕设定制辅导-无忧学长13 天前
Kafka 与其他 MQ 的对比分析:RabbitMQ/RocketMQ 选型指南(二)
kafka·rabbitmq·rocketmq
计算机毕设定制辅导-无忧学长13 天前
Kafka 与其他 MQ 的对比分析:RabbitMQ/RocketMQ 选型指南(一)
kafka·rabbitmq·rocketmq
TracyCoder12314 天前
消息队列技术选型完全指南:从原理到实践
kafka·消息队列·rocketmq·pulsar
JWASX17 天前
【RocketMQ 生产者和消费者】- 消费者重平衡(1)
java·rocketmq·重平衡
发仔12317 天前
🚀 一篇文章搞懂 RocketMQ:阿里双十一背后的万亿级消息引擎,稳了!
rocketmq