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

Linux 部署 RocketMQ

1. 下载页面和官网文档

部署文档
https://rocketmq.apache.org/zh/docs/deploymentOperations/01deploy
下载页面
http://rocketmq.apache.org/dowloading/releases/
在这里插入图片描述

2. 解压至安装目录

unzip rocketmq-all-5.3.3-bin-release.zip -d /home/soft

3. 创建 namesrv.properties

conf目录下创建namesrv.properties 配置文件,可以指定端口,也可以为空

touch namesrv.properties

4. 启动脚本

创建启动脚本,并授权

vim rocketmq-start.sh

写入如下内容

#!/bin/bashROCKETMQ_HOME=/home/soft/rocketmq-all-5.3.3-bin
NAME_SRV_ADDR=127.0.0.1:9876# 默认配置文件路径(可修改)
DEFAULT_NAMESRV_CONF="conf/namesrv.properties"
DEFAULT_BROKER_CONF="conf/broker.conf"# 日志输出目录
LOG_DIR="${ROCKETMQ_HOME}/logs"
mkdir -p "${LOG_DIR}"# 解析参数
NAMESRV_CONF=""
BROKER_CONF=""
while [[ $# -gt 0 ]]; docase "$1" in-n|--namesrv-conf)NAMESRV_CONF="$2"shift 2;;-b|--broker-conf)BROKER_CONF="$2"shift 2;;*)echo "未知参数: $1"exit 1;;esac
done# 设置默认配置文件路径
[[ -z "${NAMESRV_CONF}" ]] && NAMESRV_CONF="${DEFAULT_NAMESRV_CONF}"
[[ -z "${BROKER_CONF}" ]] && BROKER_CONF="${DEFAULT_BROKER_CONF}"# 检查配置文件存在性
check_config() {local config_file="$1"if [[ ! -f "${config_file}" ]]; thenecho "错误: 配置文件不存在 ${config_file}"exit 1fi
}check_config "${NAMESRV_CONF}"
check_config "${BROKER_CONF}"# 启动NameServer
start_namesrv() {echo "正在启动NameServer (使用配置: ${NAMESRV_CONF})..."nohup sh bin/mqnamesrv -c "${NAMESRV_CONF}" > "${LOG_DIR}/namesrv.log" 2>&1 &sleep 5 # 等待初始化完成if ! pgrep -f "mqnamesrv" > /dev/null; thenecho "NameServer启动失败,请检查日志: ${LOG_DIR}/namesrv.log"exit 1fiecho "NameServer启动成功 (PID: $(pgrep -f "mqnamesrv"))"
}# 启动Broker
start_broker() {echo "正在启动Broker (使用配置: ${BROKER_CONF})..."nohup sh bin/mqbroker  -n ${NAME_SRV_ADDR} -c "${BROKER_CONF}" --enable-proxy > "${LOG_DIR}/broker.log" 2>&1 &sleep 8 # 等待初始化完成if ! pgrep -f "mqbroker" > /dev/null; thenecho "Broker启动失败,请检查日志: ${LOG_DIR}/broker.log"exit 1fiecho "Broker启动成功 (PID: $(pgrep -f "mqbroker"))"
}# 主流程
start_namesrv
start_broker
chmod +x rocketmq-start.sh

5. 执行上面的脚本启动服务

./rocketmq-start.sh

6. 部署RocketMQ Dashboard

  1. 下载RocketMQ Dashboard源码并打包,暂时需要jdk1.8
    在这里插入图片描述
  2. 上传rocketmq-dashboard-2.0.1-SNAPSHOT.jar 至服务器
    在这里插入图片描述
  3. 创建启动脚本
vim start.sh

-Dserver.port=8876控制台端口
-Drocketmq.config.namesrvAddrs=192.168.2.35:9876 nameServer地址
-Drocketmq.config.proxyAddrs=192.168.2.35:10913 proxy地址

#!/bin/bash
nohup java -Dfile.encoding=utf-8 -Drocketmq.config.namesrvAddrs=192.168.2.35:9876 -Dserver.port=8876 -Drocketmq.config.proxyAddrs=192.168.2.35:10913   -Xms512m -Xmx1024m -jar rocket
mq-dashboard-2.0.1-SNAPSHOT.jar  > out.log  2>&1 &
echo $! > pid
  1. 创建停止脚本
vim stop.sh
kill -9 `cat pid`

执行start.sh启动控制台即可
在这里插入图片描述

http://www.xdnf.cn/news/8192.html

相关文章:

  • 基于江协标准库所出现的定时器5678以及串口45等无法使用的问题解析
  • 写实交互数字人在AI招聘中的应用方案
  • UE5 Va Res发送请求、处理请求、json使用
  • React 如何封装一个可复用的 Ant Design 组件
  • 学习日记-day13-5.22
  • Dockers Compose常用指令介绍
  • matlab实现无线通信组
  • PG Craft靶机复现 宏macro攻击
  • 第33节:迁移学习与模型微调策略
  • 微服务的应用案例
  • HashMap的基础用法(java)
  • [Harmony]WebView基本用法
  • WebGL基本概念
  • C++:RAII的不能顾名思义?
  • docker多阶段构建镜像
  • gd32e230c8t6 驱动ws2812
  • 几种直流电流采样方法
  • ADC 单次转换、连续转换、扫描转换和间接转换模式 详解。
  • MySQL 可观测性最佳实践
  • 怎样通过神经网络估计股票走向
  • Jeecg漏洞总结及tscan poc分享
  • 现代健康养生指南
  • 性能测试场景题
  • 高频晶振的信号完整性挑战:如何抑制EMI与串扰
  • 如何在 Windows 11/10 计算机上有效粉碎文件
  • 十二、Linux实现截屏小工具
  • [MH22D3开发笔记]1. 变量地址对齐,宏__ALIGNED的使用
  • MRI学习笔记-表征相似性分析(Representational Similarity Analysis, RSA)
  • Redis 中如何保证缓存与数据库的数据一致性?
  • 高性能算法RIME:基于物理的优化的霜冰优化算法