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

KubeSphere搭建单节点RocketMQ

前提环境: Docker环境 + Harbor仓库(可选)
  • 参考官方文档: 《Docker 部署 RocketMQ》
    https://rocketmq.apache.org/zh/docs/quickStart/02quickstartWithDocker
  • 参考官方文档: 《RocketMQ Dashboard》
    https://rocketmq.apache.org/zh/docs/deploymentOperations/04Dashboard/
 声明:截图中用的RocketMQ版本是4.9.6搭建完成后无法启动服务,且参数配置不一致,固版本更换为5.3.1所以请忽略截图中的版本号 参考文字信息!

第一步: 下载RocketMQ镜像(并推送到Harbor仓库)

拉取RocketMQ镜像
docker pull docker.unsee.tech/apache/rocketmq:5.3.1
重新打标签并推送到Harbor仓库
docker tag docker.unsee.tech/apache/rocketmq:5.3.1 dockerhub.kubekey.local/library/apache/rocketmq:5.3.1
docker push dockerhub.kubekey.local/library/apache/rocketmq:5.3.1

第二步: 搭建 NameServer

  1. 打开kubesphere,进入服务页面,点击创建。在这里插入图片描述
  2. 选择创建有状态服务,填写基本信息
名称: rocketmq-namesrv
描述: RocketMQ NameServer

在这里插入图片描述
3. 填写容器组设置
选择容器镜像,点击使用默认端口
在这里插入图片描述

由于只需配置NameServer,只需保留9876端口
在这里插入图片描述

配置启动命令

sh
mqnamesrv

在这里插入图片描述

同步主机时区
在这里插入图片描述

  1. 查看容器
    查看服务
    在这里插入图片描述

启动日志
在这里插入图片描述

第三步: 搭建 Broker+Proxy

  1. 创建 broker configmap
    进入项目中的配置字典,创建,填写基本信息
名称: rocketmq-broker-cm
描述: RocketMQ Broker ConfigMap

在这里插入图片描述

  1. 填写数据设置
broker.conf

# 集群名称
brokerClusterName=DefaultCluster
# 节点名称
brokerName=broker-a
# broker id节点ID, 0 表示 master, 其他的正整数表示 slave,不能小于0
brokerId=0
# Broker服务地址    String    内部使用填内网ip,如果是需要给外部使用填公网ip
brokerIP1=rocketmq-broker.registry
# Broker角色
brokerRole=ASYNC_MASTER
# 刷盘方式
flushDiskType=ASYNC_FLUSH
# 在每天的什么时间删除已经超过文件保留时间的 commit log,默认值04
deleteWhen=04
# 以小时计算的文件保留时间 默认值72小时
fileReservedTime=72
# 是否允许Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
# 是否允许Broker自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=true
# 磁盘使用达到95%之后,生产者再写入消息会报错 CODE: 14 DESC: service not available now, maybe disk full
diskMaxUsedSpaceRatio=95

在这里插入图片描述

  1. 打开kubesphere,进入服务页面,点击创建。
    在这里插入图片描述

  2. 选择创建有状态服务,填写基本信息

名称: rocketmq-broker
描述: RocketMQ Broker
  1. 填写容器组设置
    选择容器镜像,点击使用默认端口
    在这里插入图片描述

去除9876端口,添加8080 8081端口
在这里插入图片描述

配置启动命令

sh
mqbroker,--enable-proxy,-bc /home/rocketmq/rocketmq-5.3.1/conf/broker.conf

在这里插入图片描述

配置环境变量,同步主机时区

NAMESRV_ADDR rocketmq-namesrv.registry:9876

在这里插入图片描述

  1. 存储设置
    挂载配置文件 挂载子路径 选择特定键
/home/rocketmq/rocketmq-5.3.1/conf/broker.conf
broker.conf

在这里插入图片描述

  1. 查看容器
    查看容器 进入终端
    在这里插入图片描述

启动日志
在这里插入图片描述

第四步: 下载 RocketMQ Dashboard镜像(并推送到Harbor仓库)

拉取RocketMQ Dashboard镜像镜像
docker pull docker.unsee.tech/apacherocketmq/rocketmq-dashboard:1.0.0
重新打标签并推送到Harbor仓库
docker tag docker.unsee.tech/apacherocketmq/rocketmq-dashboard:1.0.0 dockerhub.kubekey.local/library/apacherocketmq/rocketmq-dashboard:1.0.0
docker push dockerhub.kubekey.local/library/apacherocketmq/rocketmq-dashboard:1.0.0

第五步: 搭建 RocketMQ Dashboard

  1. 打开kubesphere,进入服务页面,点击创建。
    在这里插入图片描述

  2. 选择创建无状态服务,填写基本信息
    名称: rocketmq-dashboard
    描述: RocketMQ Dashboard
    在这里插入图片描述

  3. 填写容器组设置
    选择容器镜像
    在这里插入图片描述

添加8080端口
在这里插入图片描述

配置环境变量,同步主机时区
JAVA_OPTS
-Drocketmq.namesrv.addr=rocketmq-namesrv.registry:9876
在这里插入图片描述

  1. 查看容器
    查看容器 进入终端
    在这里插入图片描述

启动日志
在这里插入图片描述

第五步: 通过nodeport配置 RocketMQ Borker 与 RocketMQ Dashboard访问端口

  1. 点击服务创建指定工作负载
    在这里插入图片描述
  2. 配置 RocketMQ Borker 对外端口
    选择指定工作负载,同时配置 10099 映射到 外网随机端口
    在这里插入图片描述
  3. 配置 RocketMQ Dashboard 对外端口
    选择指定工作负载,同时配置 8080 映射到 外网随机端口
    在这里插入图片描述
  4. 访问 RocketMQ Dashboard
    浏览器打开 发现RocketMQ服务 已显示
    http://192.168.10.10:36449/#/cluster
    在这里插入图片描述
http://www.lryc.cn/news/503649.html

相关文章:

  • 深度学习中损失函数(loss function)介绍
  • Vue3+Node中使用webrtc推流至mediamtx
  • React 内置的Hook学习
  • Flutter Navigator2.0的原理和Web端实践
  • 初次使用uniapp编译到微信小程序编辑器页面空白,真机预览有内容
  • 【HF设计模式】03-装饰者模式
  • 【人工智能-中级】模型部署与优化:从本地实验到云端与边缘部署
  • Jenkins 编写Pipeline 简介及使用初识详解
  • uboot移植网络驱动过程,无法ping通mx6ull和ubuntu问题解决方案
  • 精准预测美国失业率和贫困率,谷歌人口动态基础模型PDFM已开源,可增强现有地理空间模型
  • C#速成(文件读、写操作)
  • SQL server学习03-创建和管理数据表
  • 【UE5 “RuntimeLoadFbx”插件】运行时加载FBX模型
  • 【潜意识Java】深入理解 Java 面向对象编程(OOP)
  • windows同时使用多个网卡
  • Spark执行计划解析后是如何触发执行的?
  • B4X编程语言:B4X控件方法汇总
  • 基于XML配置Bean和基于XML自动装配
  • 全排列 dfs
  • linux内存相关命令的尝试
  • Vue2 基础
  • 递归问题(c++)
  • 系统思考—战略决策
  • wxwidgets xml插入图片的两种方案
  • 大模型呼入机器人如何赋能呼叫中心?(转)
  • linux下socket本地套接字通讯
  • NDRCContextUnmarshall断点函数分析之I_RpcBindingCopy函数的作用
  • WebView2教程(基于C++)【一】环境初始化
  • go语言中context的用法
  • 概括网络给社会生活带来的种种影响