单机单实例部署RocketMQ及测试

news2024/7/31 8:22:05

部署Apache RocketMQ需要准备NameServer、Broker、Proxy三个组件。它有几种部署模式:

  • Local模式:Broker 和 Proxy 是同进程部署
  • Cluster模式:Broker 和 Proxy 分别部署
    为了部署简便,我们采用local模式。

RocketMQ部署

Dockerfile

FROM ubuntu:22.04
WORKDIR /home/rocketmq-all-in-one/
RUN apt-get update && apt-get upgrade -y
RUN apt-get install default-jdk -y
RUN apt-get install wget unzip -y
RUN wget https://dist.apache.org/repos/dist/release/rocketmq/5.2.0/rocketmq-all-5.2.0-bin-release.zip
RUN unzip rocketmq-all-5.2.0-bin-release.zip
RUN mv rocketmq-all-5.2.0-bin-release rocketmq
ENV NAMESRV_ADDR=localhost:9876
EXPOSE 9876
RUN mkdir logs
RUN echo "nohup sh ./rocketmq/bin/mqnamesrv 1>./logs/ng.log 2>./logs/ng-err.log &" >> ./start.sh
RUN echo "nohup sh ./rocketmq/bin/mqbroker -n localhost:9876 autoCreateTopicEnable=true 1>./logs/mq.log" >> ./start.sh
CMD ["/bin/bash", "-ce", "sh ./start.sh"]

打包运行

docker build --pull --rm -f "dockerfile" -t rocketmq-all-in-one:latest "." 
docker container run -d -p 9876:9876 --name rocketmq-all-in-one-container rocketmq-all-in-one:latest

测试

生产者

docker exec -it rocketmq-all-in-one-container /bin/bash /home/rocketmq-all-in-one/rocketmq/bin/tools.sh org.apache.rocketmq.example.quickstart.Producer

在这里插入图片描述

消费者

docker exec -it rocketmq-all-in-one-container /bin/bash /home/rocketmq-all-in-one/rocketmq/bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer

在这里插入图片描述

带Dashboard的RocketMQ

如果我们还想在这个环境中部署图形化管理页面,还可以将rocketmq-dashboard打入镜像。

dockerfile

FROM ubuntu:22.04
WORKDIR /home/rocketmq-all-in-one/
RUN apt-get update && apt-get upgrade -y
RUN apt-get install default-jdk -y
RUN apt-get install wget unzip -y
RUN wget https://dist.apache.org/repos/dist/release/rocketmq/5.2.0/rocketmq-all-5.2.0-bin-release.zip
RUN unzip rocketmq-all-5.2.0-bin-release.zip
RUN rm rocketmq-all-5.2.0-bin-release.zip
RUN mv rocketmq-all-5.2.0-bin-release rocketmq
ENV NAMESRV_ADDR=localhost:9876
EXPOSE 9876
RUN mkdir logs
RUN echo "nohup sh ./rocketmq/bin/mqnamesrv 1>./logs/ng.log 2>./logs/ng-err.log &" >> ./start.sh
RUN echo "nohup sh ./rocketmq/bin/mqbroker -n localhost:9876 autoCreateTopicEnable=true 1>./logs/mq.log &" >> ./start.sh

RUN apt-get install git -y
RUN git clone https://github.com/apache/rocketmq-dashboard.git
RUN apt-get install maven -y
RUN cd rocketmq-dashboard && mvn clean package -Dmaven.test.skip=true
RUN echo "nohup java -jar ./rocketmq-dashboard/target/rocketmq-dashboard-1.0.1-SNAPSHOT.jar 1>./logs/dashboard.log" >> ./start.sh
EXPOSE 8080

CMD ["/bin/bash", "-ce", "sh ./start.sh"]

效果

在这里插入图片描述

参考资料

  • https://rocketmq.apache.org/docs/quickStart/01quickstart/
  • https://rocketmq.apache.org/docs/deploymentOperations/01deploy
  • https://www.cnblogs.com/jing99/p/13166602.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1617747.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux KASAN使用与实现原理

一、KASAN工具使用 KASAN工具:Kernel Address SANitizer(KASAN)是一种动态内存安全错误检测工具,主要功能是检查内存越界访问和使用已释放内存的问题。 1.1 KASAN宏控开关 KASAN有三种模式:1.通用KASAN;2.基于软件标签的KASAN&…

模版初阶【C++】

✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅ ✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨ 🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿&#x1…

嵌入式Python基础1-2

嵌入式Python基础1-2 条件语句 if elif else 随机数random eval while循环 for循环 水仙花数 循环else list 列表常用方法 增删改查 加排序 append remove pop index() 升序sort()降序 sort(reverseTrue) 反转 reverse()…

[Collection与数据结构] PriorityQueue与堆

1. 优先级队列 1.1 概念 前面介绍过队列,队列是一种先进先出(FIFO)的数据结构,但有些情况下,操作的数据可能带有优先级,一般出队列时,可能需要优先级高的元素先出队列,该中场景下,使用队列显然…

持续更新。。。

1、JAVA面试指南 https://javaguide.cn/ 简历优化:突出与应聘职位相关的项目经验、技术栈、技能证书和专业成就。确保简历中的技术关键词与JD(Job Description)相符。 自我评估:对照目标职位要求,梳理自身Java技能树&…

mac安装nvm管理node(手残流,git下载)

1. 准备 首先电脑里得有brew、git、vscode,看这里安装brew、git,看这里安装vscode。 我本人比较low,mac命令也记不熟,本篇就是git下载nvm,vscode看配置,省心不动脑子就可以了。 2. 清理node 如果mac里没…

Xshell正版免费使用(学生党)

话不多说,上链接 https://www.xshell.com/zh/free-for-home-school/

Introducing Meta Llama 3: The most capable openly available LLM to date

要点 今天,我们推出 Meta Llama 3,这是我们最先进的开源大型语言模型的下一代。Llama 3型号将很快在AWS,Databricks,Google Cloud,Hugging Face,Kaggle,IBM WatsonX,Microsoft Azur…

Linux学习:文件描述符fd

目录 1. 引子2. C语言文件接口2.1 文件的打开与关闭的操作2.2 文件写入读取操作2.3 当前路径 3. 文件I/O操作与系统调用3.1 程序默认打开的文件流3.2 操作系统访问文件的系统调用接口3.2.1 文件打开与关闭操作3.2.2 写入与读取操作 4. 什么是文件描述符fd4.1 进程与文件的关系4…

【笔记】Telephony SIM SPN及运营商名称显示数据来源介绍

来源介绍 网络名称显示 来源及优先级(高到低) SourceCommentEnhanced Operator Name String(Eons) 名称信息存放: EF_PNN(PLMN Network Name, fid: 6FC5) :LAC和EF_PNN中的Record Identifier EF_OPL(Operator PLMN List, fid: 6FC…

RBA认证是什么?RBA认证的流程是怎么样的

RBA认证,即“责任商业联盟”认证,英文全称是Responsible Business Alliance。这是一个为电子行业或以电子为主要组成部分的行业及其供应链制定的社会责任审核标准。该标准旨在确保工作环境的安全、工人受到尊重并富有尊严、商业营运合乎环保性质并遵守道…

【AI】如何让局域网PC能够访问langchain框架的AI服务

【背景】 在单位内部成功运行了langchain服务,但是发现本地可以用默认8000端口访问,但是局域网内其它机器却无法访问服务页面。 【分析】 首先查看项目文件夹中的server.py。由于这个server.py的存在,我一开始以为langchain整套框架的服务…

哪些因素影响了PCB电路板切割精度?

PCB电路板切割是电子制造过程中一个至关重要的环节,其精度对后续工序的质量和效率具有决定性影响。因此,了解影响PCB电路板切割精度的原因,对于提高电子产品的质量和生产效率具有重要意义。 1. PCB分板机稳定性 PCB分板机的性能直接影响到切…

中国AIGC最值得关注企业产品榜单揭晓!首份应用全景图谱发布

组委会 发自 凹非寺 量子位 | 公众号 QbitAI “你好,新应用!” 站在大模型落地元年,是时候喊出这句话了。 从软件APP、智能终端乃至具身智能等等,AIGC开始席卷一切。 大模型玩家、互联网巨头、终端厂商、垂直场景玩家纷纷入场…

web测试基础知识

目录 web系统的基础 web概念(worldwideweb) 网络结构 发展 架构 B/S C/S P2P 工作原理 静态页面 动态页面 web客户端技术 浏览器的核心--渲染引擎 web服务器端技术 web服务器 应用服务器 集群环境 数据库 案例-URL 协议类型 主机名 端口 IP地址 分类 …

Ubuntu 安装 Harbor

一、安装 docker 原文参考传送门 1st 卸载系统自带的 docker 应用 for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done 2nd 设置Docker 的apt源 # Add Dockers official GPG key: sudo…

翻译《The Old New Thing》 - Some reasons not to do anything scary in your DllMain

Some reasons not to do anything scary in your DllMain - The Old New Thing (microsoft.com)https://devblogs.microsoft.com/oldnewthing/20040127-00/?p40873 Raymond Chen 2004年01月27日 简介 这篇文章讨论了为什么不应该在DLL的DllMain函数中执行复杂的操作 正文 众所…

SAP DMS创建文档根目录操作简介

前面我们已经对DMS的后台进行了系统的配置,本文开始我们对DMS的前台操作进行说明 1、CV01N创建文档 注意:EDIPUBLICROOTFOLDER为根目录的凭证号,不允许更改。 输入好后回车。进入下图所示: 点击文档浏览器,进入下一屏如下图: 注意:点击创建新的私人文件夹按创建是创…

使用CSS3 + Vue3 + js-tool-big-box工具,实现炫酷五一倒计时动效

时间过得真是飞速,很快又要到一年一度的五一劳动节啦,今年五天假,做好准备了吗?今天我们用CSS3 Vue3 一个前端工具库 js-tool-big-box来实现一个炫酷的五一倒计时动效吧。 目录 1 先制作一个CSS3样式 2 Vue3功能提前准备 3…

基于DEAP数据集的四种机器学习方法的情绪分类

在机器学习领域,KNN(K-Nearest Neighbors)、SVM(Support Vector Machine)、决策树(Decision Tree)和随机森林(Random Forest)是常见且广泛应用的算法。 介绍 1. KNN&am…