Apache Storm Docker 官方镜像实战:从本地拓扑到最小集群部署
文档【免费下载链接】docsDocumentation for Docker Official Images in docker-library项目地址https://gitcode.com/gh_mirrors/docs/docs点击查看免费下载Apache Storm 是面向无界数据流的分布式实时计算系统。本指南基于 Docker 官方镜像仓库中的 storm/README.md 文档讲解如何用官方storm镜像在本地模式直接运行拓扑如何依次启动 ZooKeeper、Nimbus、Supervisor 与 Storm UI 搭建最小可用集群以及如何通过docker compose一键编排、如何覆盖默认配置、持久化数据与日志。读完本文你将能够独立完成 Storm 镜像的部署、拓扑提交与集群配置调优。Apache Storm 是什么Apache Storm 是一个免费开源的分布式实时计算系统。它让可靠地处理**无界数据流unbounded streams of data**变得简单——正如 Hadoop 之于批处理Apache Storm 之于实时处理。Storm 足够简单、支持任何编程语言并且易于上手。Storm 的典型使用场景包括实时分析realtime analytics在线机器学习online machine learning持续计算continuous computation分布式 RPCdistributed RPCETL 等按 storm/README.md 的引述Storm 性能出色其基准测试曾达到单节点每秒处理超过一百万个 tuple具备可扩展、容错、保证数据被处理等特性且易于搭建与运维。Storm 能与团队已有的消息队列和数据库技术集成一个 Storm拓扑topology消费数据流并在计算各阶段之间按需对流进行重分区从而以任意复杂度处理数据。镜像概况版本标签、架构与文档来源官方storm镜像当前支持的标签如下完整列表见 storm/README.md 的 Supported tags 部分标签说明3.1.0-jre25、3.1-jre25、3.1.0、3.1、latest标准版镜像基于 JRE 25 构建3.1.0-lite-jre25、3.1-lite-jre25、3.1.0-lite、3.1-liteLite 精简版镜像支持架构amd64、arm64v8可覆盖主流 x86 与 ARM64 服务器/开发机。维护方Apache Storm 项目团队见 storm/maintainer.md。获取帮助Apache Storm 社区见 storm/get-help.md。提交 IssueApache Storm 的 JIRA 跟踪系统见 storm/issues.md。Dockerfile 上游仓库镜像对应的 Dockerfile 位于 Apache Storm 的 Docker 构建仓库见 storm/github-repo。快速开始本地模式运行拓扑本地模式是最快的验证方式——无需任何集群组件直接在容器里运行一个拓扑。假设当前目录下已有打包好的topology.jar$ docker run -it -v $(pwd)/topology.jar:/topology.jar storm storm jar /topology.jar org.apache.storm.starter.ExclamationTopology命令拆解-v $(pwd)/topology.jar:/topology.jar把宿主机的拓扑 JAR 挂载进容器路径固定为/topology.jar第一个storm是镜像名第二个storm是容器内的 CLI 命令storm jar jar路径 主类名是 Storm 的提交命令这里运行的是 storm-starter 示例拓扑之一org.apache.storm.starter.ExclamationTopology。部署一个最小 Storm 集群一个可用的 Storm 集群至少需要ZooKeeper Nimbus Supervisor三个角色。官方文档给出的启动顺序与命令如下。1. 先启动 ZooKeeperZooKeeper 是运行 Storm 集群的必需组件必须最先启动。由于 ZooKeeper 采用 fail fast快速失败机制一旦异常就立即退出因此推荐始终加上--restart always让 Docker 自动拉起$ docker run -d --restart always --name some-zookeeper zookeeper2. 启动 NimbusNimbus 是集群的主节点master负责接收拓扑提交、分配任务。它必须与 ZooKeeper 相连同样属于 fail fast 系统$ docker run -d --restart always --name some-nimbus --link some-zookeeper:zookeeper storm storm nimbus这里--link some-zookeeper:zookeeper让 Nimbus 容器内以主机名zookeeper访问 ZooKeeper 容器。3. 启动 SupervisorSupervisor 是工作节点负责实际执行拓扑任务它会同时与 Nimbus 和 ZooKeeper 通信$ docker run -d --restart always --name supervisor --link some-zookeeper:zookeeper --link some-nimbus:nimbus storm storm supervisor4. 提交拓扑到集群集群就绪后即可提交拓扑。这里使用 storm-starter 的WordCountTopology作为示例topology是拓扑名称可选参数$ docker run --link some-nimbus:nimbus -it --rm -v $(pwd)/topology.jar:/topology.jar storm storm jar /topology.jar org.apache.storm.starter.WordCountTopology topology注意这次用了--rm提交动作完成后容器即可退出清理无需常驻。5.可选启动 Storm UIStorm UI 是集群的可视化 Web 界面用于查看拓扑运行状态。官方镜像将其默认端口设为8080$ docker run -d -p 8080:8080 --restart always --name ui --link some-nimbus:nimbus storm storm ui启动后通过http://localhost:8080访问。从源码结构看ZooKeeper、Nimbus、Supervisor 三种角色均通过同一个镜像、以不同子命令启动这种一个镜像多角色的设计正是官方镜像的通用做法便于复用与编排。使用 Docker Compose 一键编排集群逐个docker run便于理解角色关系但日常使用更推荐 Compose。官方仓库在 storm/compose.yaml 中提供了开箱即用的编排文件内容同样嵌入在 storm/README.md 中完整内容如下services: zookeeper: image: zookeeper container_name: zookeeper restart: always nimbus: image: storm container_name: nimbus command: storm nimbus depends_on: - zookeeper links: - zookeeper restart: always ports: - 6627:6627 supervisor: image: storm container_name: supervisor command: storm supervisor depends_on: - nimbus - zookeeper links: - nimbus - zookeeper restart: always要点说明zookeeper服务使用官方zookeeper镜像并设置restart: always应对其 fail-fast 特性nimbus通过depends_on等待 ZooKeepercommand直接指定storm nimbus并对外暴露6627端口——这是 Nimbus 对外服务的端口也是 README 中访问地址的端口来源supervisor同时依赖 nimbus 与 zookeeper通过links建立主机名映射三个服务都配置了restart: always保证进程异常退出后自动恢复。启动方式$ docker compose up等待初始化完成后Nimbus 即可通过http://localhost:6627或http://host-ip:6627访问视实际网络环境而定。配置 Storm镜像内部使用 Apache Storm 的默认配置即项目conf/defaults.yaml中的默认值无需额外配置即可启动。官方文档给出了两种覆盖默认配置的途径。方式一通过命令行参数-c覆盖-c是storm命令行的配置覆盖参数可在启动守护进程时直接指定配置项的值。例如设置 ZooKeeper 服务器列表$ docker run -d --restart always --name nimbus storm storm nimbus -c storm.zookeeper.servers[zookeeper]这里-c storm.zookeeper.servers[zookeeper]把storm.zookeeper.servers覆盖为一个 JSON 数组与--link some-zookeeper:zookeeper配合Nimbus 即可通过主机名zookeeper找到 ZooKeeper。这种方式适合少量、临时性的参数调整。方式二挂载自定义storm.yaml更完整的做法是把自定义配置文件挂载到容器的/conf/storm.yaml。假设当前目录下有写好的storm.yaml$ docker run -it -v $(pwd)/storm.yaml:/conf/storm.yaml storm storm nimbus挂载后镜像会读取该文件作为配置来源适合集中管理成组的集群参数。两种方式可以组合使用挂载的配置文件提供基础配置-c参数在启动时做针对性覆盖。日志镜像使用 Apache Storm 的默认日志配置基于 log4j2。默认情况下所有日志输出到容器内的/logs目录。若要持久化或查看日志可将/logs挂载为数据卷详见下一节。数据持久化镜像默认不持久化任何数据。为方便持久化镜像预置了两个目录/data——存放状态与临时数据/logs——存放日志。两者均属于storm用户。需要持久化时把它们挂载为数据卷即可$ docker run -it -v /logs -v /data storm storm nimbus重要注意事项由于安全考虑容器内的 Storm 以非 root 的storm用户运行因此请只使用上述预定义路径/data、/logs挂载数据卷使用其他未预定义的路径很可能触发permission denied权限不足错误。镜像文档的生成机制仓库内部视角本仓库中的 storm/README.md 并非手写文件而是自动生成的其正文主体来自 storm/content.mdCompose 示例来自 storm/compose.yaml再由根目录的 update.sh 依据 .template-helpers/template.md、.template-helpers/compose.md 等模板拼接而成文件头部也有相应的自动生成警告见 .template-helpers/autogenerated-warning.md。因此想了解或复现该文档应直接阅读 storm/content.md 与 storm/compose.yamlstorm/README-short.txt 是 Docker Hub 上显示的 100 字以内短描述维护该文档而非手工编辑 README的正确方式是修改上述源文件后运行./update.sh storm生成 README 用于校验。理解这套机制有助于判断文档与镜像构建之间的对应关系避免误改生成文件。许可与商标Apache Storm、Storm、Apache、Apache feather logo 与 Apache Storm 项目 logo 均为 Apache 软件基金会The Apache Software Foundation的商标。镜像内的主软件以 Apache License, Version 2.0。与所有 Docker 镜像类似镜像中可能还包含以其他许可分发的软件如来自基础发行版的 Bash 等以及主软件的直接或间接依赖。使用任何预构建镜像时使用者有责任确保对镜像内所有软件的使用符合其各自许可要求。小结本文围绕 Docker 官方storm镜像给出了完整的实战路径先用一条docker run在本地模式快速验证拓扑再按 ZooKeeper → Nimbus → Supervisor → UI 的顺序搭建最小集群最后用官方提供的 storm/compose.yaml 实现一键编排。配置方面-c命令行覆盖适合临时调整挂载/conf/storm.yaml适合集中管理数据与日志则通过/data、/logs两个预置目录挂载卷来持久化并牢记容器以非 root 的storm用户运行避免在未预定义路径上挂载引发权限错误。以此为起点即可进一步扩展为多 Supervisor 的生产级 Storm 集群。赞分享文档【免费下载链接】docsDocumentation for Docker Official Images in docker-library项目地址https://gitcode.com/gh_mirrors/docs/docs点击查看免费下载相关推荐Apache Storm Distributed RPC 完整实战DRPC 原理、拓扑构建与集群部署Apache Storm Distributed RPC 完整实战DRPC 原理、拓扑构建与集群部署 Distributed RPCDRPC是 Apach后端大数据Apache Storm 入门实战storm-starter 示例拓扑的运行、打包与集群部署指南Apache Storm 入门实战storm starter 示例拓扑的运行、打包与集群部署指南 storm starter 是 Apache Storm 官流处理后端大数据Apache Storm 入门实战storm-starter 示例拓扑全解析与本地/集群运行指南Apache Storm 入门实战storm starter 示例拓扑全解析与本地/集群运行指南 Apache Storm 的 examples/storm后端大数据创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

PiliNara弹幕合并(Pakku)详解:重复弹幕自动聚字放大,让满屏弹幕变清爽

PiliNara弹幕合并(Pakku)详解:重复弹幕自动聚字放大,让满屏弹幕变清爽

【免费下载链接】PiliNara PiliPlus 的第三方Fork版本,做了一些自用改动 项目地址: https://gitcode.com/gh_mirrors/pi/PiliNara 点击查看 免费下载 如果你看视频时最怕满屏重复弹幕刷屏,PiliNara 的**弹幕合并(Pakku&#xff0…

2026/10/15 18:16:29 阅读更多 →
如何让长上下文Agent不遗忘、不跑偏?AxisAgentic上下文压缩与Discard-All双机制详解

如何让长上下文Agent不遗忘、不跑偏?AxisAgentic上下文压缩与Discard-All双机制详解

【免费下载链接】AxisAgentic AxisAgentic: An Extensible Runtime and Trajectory-Collection Framework for Long-Horizon Agents. 项目地址: https://gitcode.com/gh_mirrors/ax/AxisAgentic 点击查看 免费下载 跑多轮搜索、抓取、推理的长时程任务时&#xff0…

2026/10/15 18:16:29 阅读更多 →
RGF 仓颉版输入法组合窗事件 EvImeComposition 详解:捕获并处理 Windows IME 组合状态

RGF 仓颉版输入法组合窗事件 EvImeComposition 详解:捕获并处理 Windows IME 组合状态

图形学桌面应用 【免费下载链接】RGF_CJ RGF是仓颉Windows系统下的通用渲染框架(兼应用开发框架)。RGF仓颉版(后续简称"RGF")基于RGF(C/C版)封装优化而来。RGF为开发者提供轻量化、安全、高性能以及高度一致性的2D渲染能…

2026/10/15 18:16:29 阅读更多 →

最新新闻

高考数学对数比较大小压轴题:解题技巧与通用框架

高考数学对数比较大小压轴题:解题技巧与通用框架

1. 这道题为什么值得单独拿出来讲2020年高考理科数学全国3卷的选择题第十二题,在考后相当长一段时间里都是讨论度很高的一道题。它考的不是什么偏门冷门的公式,而是一道以对数运算为核心、结合不等式比较大小的题目。很多同学考完之后的第一反应是"…

2026/10/16 0:35:22 阅读更多 →
量化CTA实盘闭环:523-3框架与三层次执行保障

量化CTA实盘闭环:523-3框架与三层次执行保障

简介:本资源是一份面向量化投资从业者、金融工程研究者及进阶交易爱好者的专业级CTA策略入门与进阶指南,系统梳理量化CTA的核心理念、分类框架与实盘落地逻辑。PDF文档共21页,结构清晰,涵盖CTA策略概况、收益来源、趋势跟踪/统计套…

2026/10/16 0:35:22 阅读更多 →
CCF-CSP真题解析:算法建模、C++工程细节与边界处理实战

CCF-CSP真题解析:算法建模、C++工程细节与边界处理实战

简介:本资源是面向CCF-CSP认证考生的真题精解学习资料,聚焦算法设计与编程实战能力提升,特别适合计算机专业学生及算法初学者系统训练。内容涵盖2014至2023年共6套高频真题(如‘小明上学’‘卖菜’‘跳一跳’‘相反数’‘仓库规划…

2026/10/16 0:35:22 阅读更多 →
微电网调度MATLAB工程实现:双时间尺度MILP优化与不确定性建模

微电网调度MATLAB工程实现:双时间尺度MILP优化与不确定性建模

简介:本资源是一套面向电力系统方向本科生、研究生及科研人员的智能微电网调度算法MATLAB实现方案,聚焦可再生能源接入背景下微电网的经济性调度与稳定性优化问题。压缩包共20个文件,含18个核心MATLAB函数(.m)、1个备份…

2026/10/16 0:34:22 阅读更多 →
Windows SDK中国象棋:从双缓冲到Alpha-Beta的完整课设实战

Windows SDK中国象棋:从双缓冲到Alpha-Beta的完整课设实战

简介:基于Windows SDK的象棋程序完整工程源码包,面向C/C初学者及桌面游戏开发入门者,重点演示如何使用Win32 API与GDI实现棋盘绘制、棋子拖放、走棋规则判断和人机对弈。压缩包共38个文件,主要包含C源文件(.cpp)、头文件(.h)、图标…

2026/10/16 0:34:22 阅读更多 →
NC附件上传的本地保存与OSS上传架构设计

NC附件上传的本地保存与OSS上传架构设计

1. 项目概述:为什么“NC传输附件的本地文件保存和文件上传”是企业级系统绕不开的硬需求在某高校实验室参与一个跨部门协同管理平台开发时,我第一次被业务方拉着开了个紧急会——他们刚上线的NC(用友NCCloud)系统里,所…

2026/10/16 0:34:22 阅读更多 →

日新闻

个人 AI Agent 平台接入 TaoToken:统一 Key 与 API 通道的配置大纲

个人 AI Agent 平台接入 TaoToken:统一 Key 与 API 通道的配置大纲

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

2026/10/16 0:00:05 阅读更多 →
信号与系统频域分析作业解题指南

信号与系统频域分析作业解题指南

1. 作业背景与核心要求解析信号与系统作为电子信息类专业的核心基础课,其作业设计往往直接关联课程的核心知识框架。2026年春季第六次作业的布置,通常对应着课程进展到频域分析的关键阶段。根据常规教学进度推测,本次作业可能涉及以下核心内容…

2026/10/16 0:00:05 阅读更多 →
Django MVT实战:从零构建图书借阅系统,彻底搞懂Model-View-Template分层

Django MVT实战:从零构建图书借阅系统,彻底搞懂Model-View-Template分层

1. 从一个"四不像"的练手项目说起如果你已经看完了Django的官方教程前几章,跟着敲完了投票应用,大概会有一种"我好像会了,又好像什么都不会"的割裂感。教程里每个知识点都是拆开的——这一章讲模型,下一章讲视…

2026/10/16 0:00:05 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/15 16:18:54 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/15 19:41:51 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/15 13:48:15 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

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

2026/10/15 0:14:36 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

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

2026/10/14 22:45:47 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

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

2026/10/15 9:49:14 阅读更多 →