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

相关推荐
dzend4 天前
Kafka、RocketMQ、RabbitMQ 对比
kafka·rabbitmq·rocketmq
白开水2335 天前
Apache RocketMQ 5.1.3安装部署文档
apache·rocketmq
RemainderTime11 天前
(七)Spring Cloud Alibaba 2023.x:RocketMQ 消息队列配置与实现
后端·spring cloud·微服务·rocketmq
你啊我啊你好12 天前
常用的消息中间件(ActiveMQ、RabbitMQ、RocketMQ、Kafka)面试精华
rabbitmq·rocketmq·activemq
Hello-Brand12 天前
RocketMQ系列3:核心技术介绍
消息队列·rabbitmq·rocketmq·mq·消息中间件·削峰填谷
_BugMan13 天前
【业务场景】订单超时取消的各种方案
redis·java-ee·rocketmq
Ch.yang16 天前
【架构】从 Socket 的角度认识非阻塞模型
tomcat·rocketmq
码农老起16 天前
从RocketMQ到Dubbo:自研中间件技术的崛起
中间件·dubbo·rocketmq
Steven_Mmm18 天前
关于消息队列性能是否能接收 5 万个 MQ
kafka·rocketmq