当前位置: 首页 > article >正文

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下载页的最下方
这个在本地或服务器上运行均可,仅演示在服务器上的情况
  • 下载、解压缩
#在rocketmq文件夹下创建dashboard文件夹
mkdir dashboard
cd dashboard
#下载dashboard

wget https://dist.apache.org/repos/dist/release/rocketmq/rocketmq-dashboard/2.0.0/rocketmq-dashboard-2.0.0-source-release.zip
#解压缩
unzip rocketmq-dashboard-2.0.0-source-release.zip
#重命名(非必须)

mv rocketmq-dashboard-2.0.0-source-release  dashboard

  • 处理application.yml文件
vim dashboard/src/main/resources/application.yml

把启动端口替换成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下载页


http://www.kler.cn/a/455477.html

相关文章:

  • 组件库TDesign的表格<t-table>的使用,行列合并以及嵌入插槽实现图标展示,附踩坑
  • UGUI源码分析 --- UI的更新入口
  • “游戏信息化”:游戏后台系统的未来发展
  • Windows 11 系统下,通过 WSL(Windows Subsystem for Linux)里的 Ubuntu 24.04 安装 CUDNN 记录
  • 【C++决策和状态管理】从状态模式,有限状态机,行为树到决策树(一):从电梯出发的状态模式State Pattern
  • 面试题整理13----deployment和statefulset区别
  • DeepSpeed的json配置讲解:ds_config_zero3.json
  • 【代码随想录|动态规划背包问题应用】
  • 使用VS Code开发ThinkPHP项目
  • windows nvm 切换node版本后,npm找不到
  • Transformer++架构:突破性的创新与优化
  • 注意⚠️:矩阵系统源码开发/SaaS矩阵系统开源/抖音矩阵开发优势和方向
  • AI绘图开源工具Stable Diffusion WebUI前端API调用
  • Springboot jar包加密加固并进行机器绑定
  • 知迪科技荣获合肥高新区“瞪羚企业” “潜在独角兽企业”双认证
  • JVM -垃圾回收机制
  • 山东大学软件学院2024秋季大数据安全期末
  • Docker Container 可观测性最佳实践
  • LeetCode-两数之和(001)
  • mysql索引的理解