首页/新闻资讯/正文详情

Apache Pulsar 在 DC/OS 上部署实战:基于 Marathon 应用组构建集群

发布时间:2026/9/26 2:32:15 来源:云帆数科 栏目:资讯中心
Apache Pulsar 在 DC/OS 上部署实战:基于 Marathon 应用组构建集群
消息队列后端流处理【免费下载链接】pulsarApache Pulsar - distributed pub-sub messaging system项目地址https://gitcode.com/gh_mirrors/pulsar28/pulsar点击查看免费下载本篇指南基于 Apache Pulsar 官方文档DC/OS 部署章节对应 version-2.2.1 版本文档完整讲解如何在 DC/OS数据中心操作系统上通过 Marathon Application Group 部署一套包含 BookKeeper 存储层、Pulsar Broker 服务层与 Prometheus/Grafana 监控层的完整集群。读完本文你将掌握 DC/OS 前置条件评估、dcos marathon命令行部署、集群健康状态检查、生产/消费验证以及集群卸载的完整闭环操作。DC/OS 与 Pulsar 的部署形态DC/OSDataCenterOperatingSystem是构建于 Apache Mesos 之上的分布式操作系统用于在数据中心内统一部署和管理应用程序与系统服务。Apache Pulsar 以Marathon Application Group应用组的形式发布在 DC/OS 上——应用组把多个关联应用组织成可统一管理的集合非常适合描述 Pulsar 这种“存储层 服务层 监控层”的多组件拓扑。Pulsar 的 DC/OS 部署方案将整个集群划分为三个应用组应用组组成说明bookkeeper组3 个 bookie每个 agent 节点 1 个 1 个 bookie recovery自动恢复实例负责消息的持久化存储对应 bookie 术语 说明brokers组3 个 Pulsar broker每个节点 1 个 1 个 admin 实例负责消息路由、管理与对外服务monitory组1 个 Prometheus 实例 1 个 Grafana 实例负责集群指标采集与可视化部署完成后的拓扑中ZooKeeper 无需额外安装DC/OS 集群本身已在master.mesos:2181运行着一套 ZooKeeperPulsar 直接复用即可这一点在“仅凭一条命令拉起整个集群”的部署体验中十分关键。部署前置条件在 DC/OS 上运行 Pulsar 之前需要确认以下条件DC/OS 版本 1.9 及以上至少 3 个 agent 节点的 DC/OS 集群每个节点承担一个 bookie 与一个 broker已安装 DC/OS CLI 工具获取PulsarGroups.json配置文件该文件描述了完整的 Marathon 应用组定义位于 Pulsar 仓库的deployment/dcos目录下原文档给出的获取方式为直接下载该文件命令形如curl -O apache-pulsar-仓库/deployment/dcos/PulsarGroups.json。同时DC/OS 托管的 Mesos 集群中每个节点至少需要4 CPU4 GB 内存60 GB 持久化磁盘如果集群资源不足或想调整规模可以直接修改PulsarGroups.json中的资源配置CPU、内存、磁盘、实例数等以匹配实际集群能力。需要说明的是在当前仓库中deployment/目录下保留了 kubernetes/terraform-ansible 等部署方案见 deployment 目录DC/OS 专用的PulsarGroups.json由该版本文档指向项目仓库的deployment/dcos/PulsarGroups.json路径获取。通过 DC/OS 命令行接口部署 Pulsar执行部署命令将PulsarGroups.json下载到本地后在已登录 DC/OS CLI 的环境中执行$ dcos marathon group add PulsarGroups.json该命令会把三组 Docker 容器实例一次性注册到 Marathon 并开始调度部署。执行后在浏览器中访问 DC/OS GUI本示例为http://m1.dcos点击Services标签页即可看到多个应用正在部署中注意由于 DC/OS 已自带 ZooKeepermaster.mesos:2181部署过程中不需要单独安装或启动 ZooKeeper 实例。部署形态与资源来源从部署结果看PulsarGroups.json描述的是典型的Marathon Application Group结构父组pulsar下挂载bookkeeper、brokers、monitory三个子组。这种结构让运维人员可以在 GUI 中按组查看状态、按组启停也可以一条命令完成整组卸载。验证 BookKeeper 组查看 bookie 部署状态在 DC/OS GUI 中点击父组pulsar下的bookkeeper组即可监控 BookKeeper 集群的部署状态此时 3 个 bookie 应显示为绿色表示 bookie 已成功部署并处于运行状态点击每个 bookie 实例可以获取更详细的信息例如 bookie 的运行日志在 ZooKeeper 中确认 BookKeeper由于 Pulsar 复用了 DC/OS 自带的 ZooKeeper可以通过 Exhibitor 查看 BookKeeper 的注册信息。本示例中访问http://m1.dcos/exhibitor可看到 3 个 bookie 位于available目录下BookKeeper 的available目录是各 bookie 上线后的注册位置从实现层面看Pulsar 的存储层由 managed-ledger 模块驱动bookie 通过 ZooKeeper 完成集群成员发现与协调如果你需要调整 bookie 的存储目录、端口或写入吞吐等参数可参考仓库中的 conf/bookkeeper.conf 示例配置。验证 Pulsar Broker 组与 BookKeeper 组类似点击父组下的brokers组可以查看 Pulsar broker 的部署状态点击每个 broker 实例可查看详细信息和运行日志同样可以通过 Exhibitor Web UI 查看 ZooKeeper 中的 broker 集群信息。本示例中可以观察到loadbalance与managed-ledgers两个目录已经被创建——managed-ledgers目录由 Pulsar 的 ManagedLedger 协调器在元数据层建立loadbalance目录则是 broker 负载均衡load balance机制注册与协调的元数据位置Broker 的对外端口、认证、存储策略等运行参数可在 conf/broker.conf 中查看与调整如默认的二进制服务端口 6650 与 Web 服务端口 8080也正是下文教程中pulsar://a1.dcos:6650所对应的服务入口。监控组Prometheus 与 Grafanamonitory组由 Prometheus 和 Grafana 两个实例组成Prometheus点击prom实例可获取 Prometheus 的访问端点本示例中为192.168.65.121:9090打开该端点后可以看到 Prometheus 仪表盘其中http://192.168.65.121:9090/targets页面列出了所有被抓取的 bookie 与 broker 目标Pulsar 的 broker/bookie 原生暴露 Prometheus 格式指标因此这套监控组无需额外 agent 即可采集到集群的核心指标消息速率、存储用量、背压等。Grafana点击grafana实例可获取 Grafana 端点本示例中为192.168.65.121:3000打开该端点即可进入 Grafana 仪表盘后续生产/消费压测期间可以在这里观察实时的集群指标曲线在 DC/OS 上运行简单的消费者与生产者集群部署完成后通过一个 Java 教程工程即可验证 Pulsar 的生产与消费能力。下载并准备 Pulsar Java 教程克隆pulsar-java-tutorial仓库该仓库包含一个简单的 Pulsar 消费者与生产者更多说明见其 README$ git clone pulsar-java-tutorial 仓库地址随后需要修改两处代码修改SERVICE_URL在ConsumerTutorial.java与ProducerTutorial.java中把默认的pulsar://localhost:6650改为pulsar://a1.dcos:6650。pulsar://a1.dcos:6650是 broker 服务端点a1.dcos是运行了 broker 的 DC/OS 客户端 agent其 IP 地址也可以直接替换使用每个 broker 实例的端点详情可从 DC/OS GUI 中获取。调整消息数量将ProducerTutorial.java的 main 方法中的消息数从 10 改为10000000一千万以便生产者持续产出更多消息供观测。然后编译工程$ mvn clean package运行消费者与生产者先启动消费者$ mvn exec:java -Dexec.mainClasstutorial.ConsumerTutorial再启动生产者$ mvn exec:java -Dexec.mainClasstutorial.ProducerTutorial此时通过 DC/OS GUI 可以看到生产者持续生产消息、消费者持续消费消息查看 Grafana 指标输出在生产者和消费者运行期间回到 Grafana 即可查看实时运行的指标信息卸载 Pulsar在任意时刻可以通过以下两种方式之一关闭并卸载 DC/OS 上的pulsar应用使用 DC/OS GUI在 Pulsar 组右侧选择Delete使用命令行$ dcos marathon group remove /pulsar该命令会移除整个pulsar应用组及其下所有子组实例实现集群的快速整体回收。进阶提示镜像选型与配置调整使用pulsar-all镜像启用全部内置连接器官方文档特别提示如果希望在 Pulsar 部署中启用全部内置 Pulsar IO 连接器应选择apachepulsar/pulsar-all镜像而非默认的apachepulsar/pulsar镜像——pulsar-all镜像已预先打包 所有内置连接器。从仓库中的镜像构建定义可以印证这一点docker/pulsar/Dockerfile 负责构建基础镜像内置解压 Pulsar 发行包、补齐/pulsar/conf|data|download|logs等目录权限并安装运行期依赖而 docker/pulsar-all/Dockerfile 在apachepulsar/pulsar:latest之上继续叠加内容COPY --frompulsar-all /connectors /pulsar/connectors COPY --frompulsar-all /offloaders /pulsar/offloaders即pulsar-all额外拷贝了连接器目录/connectors来源于构建参数PULSAR_IO_DIR与分层存储 offloader/offloaders。因此如果计划在 DC/OS 集群上使用 Pulsar IO 的各类 source/sink 连接器请将PulsarGroups.json中的镜像替换为apachepulsar/pulsar-all。按集群资源调整PulsarGroups.json前置条件中给出的“每节点 4 CPU / 4 GB 内存 / 60 GB 磁盘”是官方默认值。如果 DC/OS 集群节点规格不同可在PulsarGroups.json中修改对应的cpus、mem、disk字段如需扩展吞吐能力也可以调整各组的实例副本数如将 bookie 与 broker 扩到更多节点。修改后重新执行dcos marathon group add PulsarGroups.json或先移除再添加即可生效。赞分享消息队列后端流处理【免费下载链接】pulsarApache Pulsar - distributed pub-sub messaging system项目地址https://gitcode.com/gh_mirrors/pulsar28/pulsar点击查看免费下载相关推荐Apache Pulsar 在 DC/OS 上部署实战基于 Marathon 应用组的完整指南Apache Pulsar 在 DC/OS 上部署实战基于 Marathon 应用组的完整指南 Apache Pulsar 官方将整套集群封装为 DC/OS消息队列后端流处理Apache Pulsar on DC/OS 部署全攻略基于 Marathon 应用组的集群搭建、监控与端到端验证Apache Pulsar on DC/OS 部署全攻略基于 Marathon 应用组的集群搭建、监控与端到端验证 Apache Pulsar 官方提供了一套消息队列后端流处理在 DC/OS 上部署 Apache PulsarMarathon 应用组部署与运维实战在 DC/OS 上部署 Apache PulsarMarathon 应用组部署与运维实战 本篇技术指南基于 Apache Pulsar 官方文档versio消息队列后端流处理上一篇DeepPlant-EAP部署指南3步轻松搭建你的植物基因分析平台下一篇VibeThinker-3B-8bit深度解析从WeiboAI基础模型到MLX格式的完美转换创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关推荐

使用 jc 将 Linux `/proc/net/netlink` 文件解析为 JSON:完整指南
使用 jc 将 Linux `/proc/net/netlink` 文件解析为 JSON:完整指南

开发工具 【免费下载链接】jc CLI tool and python library that converts the output of popular command-line tools, file-types, and common strings to JSON, YAML, or Dictionaries. This allows piping of output to tools like jq and simplifying automation scripts.… · 2026/9/26 2:32:15

TensorFlow Lite 设备端模型个性化实战:从生成可个性化 TFLite 模型到 Android 端训练与推理
TensorFlow Lite 设备端模型个性化实战:从生成可个性化 TFLite 模型到 Android 端训练与推理

示例工程 【免费下载链接】examples TensorFlow examples 项目地址: https://gitcode.com/gh_mirrors/exam/examples 点击查看 免费下载 导读 本文围绕 TensorFlow Lite 官方示例项目 lite/examples/model_personalization 展开,系统讲解如何在完全不上… · 2026/9/26 2:32:15

《Python实战 | 中秋限定!用AI代码生成“普宁英歌舞×红桃粿猫”3D IP,已申请外观专利!》
《Python实战 | 中秋限定!用AI代码生成“普宁英歌舞×红桃粿猫”3D IP,已申请外观专利!》

中秋节快乐!🌕 作为一个深耕潮汕文化的AI设计师,我一直在思考如何让传统非遗“年轻化”。 今天给大家分享一个我最新的AI设计案例——当普宁英歌舞遇上红桃粿,再融合一只酷酷的方块猫,会碰撞出什么火花?&am… · 2026/9/26 2:32:09

YOLOv8摔倒检测实战:从数据标注到部署的完整代码与避坑指南
YOLOv8摔倒检测实战:从数据标注到部署的完整代码与避坑指南

简介:这份资源是面向深度学习初学者与安防、体育分析方向开发者的YOLOv8摔倒检测完整代码包,用于快速搭建可识别视频或图像中人物摔倒事件的目标检测系统,可应用于老年人监护、公共场所安全监控及运动员训练反馈等场景。压缩包为zip格式&… · 2026/9/26 2:59:15

BlockSuite 预设完全上手指南:5 行代码集成 PageEditor 和 EdgelessEditor
BlockSuite 预设完全上手指南:5 行代码集成 PageEditor 和 EdgelessEditor

BlockSuite 预设完全上手指南:5 行代码集成 PageEditor 和 EdgelessEditor 【免费下载链接】blocksuite 🧩 Content editing tech stack for the web - BlockSuite is a toolkit for building editors and collaborative applications. 项目地址: http… · 2026/9/26 2:59:09

Swift 第三方 DebugCenter功能
Swift 第三方 DebugCenter功能

一直觉得自己写的不是技术,而是情怀,一个个的教程是自己这一路走来的痕迹。靠专业技能的成功是最具可复制性的,希望我的这条路能让你们少走弯路,希望我能帮你们抹去知识的蒙尘,希望我能帮你们理清知识的脉络&#xff0… · 2026/9/26 2:59:09

2025护网行动零基础指南:岗位选择、面试技巧与现场实战全攻略
2025护网行动零基础指南:岗位选择、面试技巧与现场实战全攻略

每年一到护网招聘季,我这边消息列表就开始热闹。问得最多的一类问题是:“我是零基础,能不能去护网?护网面试一般问什么?网上说的那些技术名词我真的要全学会吗?”说实话,护网这个圈子信息差很大… · 2026/9/26 2:59:09

小红书数据采集工程化实战:从笔记、评论到图片的爬虫与落库
小红书数据采集工程化实战:从笔记、评论到图片的爬虫与落库

简介:这份资源面向小红书运营者、数据采集开发者与自动化脚本学习者,围绕平台数据采集、爬虫工程、账号养号、内容发布、评论互动与数据分析等场景,提供一套可参考的实践代码与前端工程结构。包内共277个文件,以107个ts脚本、77个… · 2026/9/26 2:59:09

treg Enrich Arena实战:如何一键对比多家数据供应商的答案质量与成本
treg Enrich Arena实战:如何一键对比多家数据供应商的答案质量与成本

treg Enrich Arena实战:如何一键对比多家数据供应商的答案质量与成本 【免费下载链接】treg OpenRouter for agent tools. Join community here: https://discord.gg/6mQYYfFMAn 项目地址: https://gitcode.com/GitHub_Trending/treg/treg treg Enrich Arena… · 2026/9/26 2:59:09

数据库课后习题答案别硬背:当测试用例集刷,效率翻倍
数据库课后习题答案别硬背:当测试用例集刷,效率翻倍

简介:万常选版《数据库原理与设计》课后习题答案资源,覆盖第2至6章及第9章,适合正在学习关系模型、数据库建模、关系数据理论与模式求精的本科生、自学者作为复习与自测材料。压缩包共7个文件,含3个doc参考答案、2个sql示例脚本、… · 2026/9/26 0:00:21

OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置
OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 0:00:40

向下兼容与向上兼容:接口设计中的兼容性策略与工程实践
向下兼容与向上兼容:接口设计中的兼容性策略与工程实践

一次版本升级事故,是很多团队绕不过去的坎。线上环境里,服务端明明已经上线了新版接口,老的移动端还在照着旧文档传参数。请求一到网关,校验直接拒绝,用户操作失败,客服群炸了锅,开发群里开始互… · 2026/9/26 0:00:46

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码