快速参考
-
维护者:
Apache Storm -
获取帮助的途径:
Apache Storm™ 社区
支持的标签和相应的 Dockerfile 链接
快速参考(续)
-
已发布的映像工件详细信息:
repo-info repo 的repos/storm/目录(历史记录)
(图像元数据、传输大小等) -
图像更新:
官方镜像仓库的library/storm标签
官方镜像仓库的library/storm文件(历史记录) -
来源:此描述的来源:
docs 存储库的storm/目录(历史记录)
什么是 Apache Storm?
Apache Storm 是一个免费且开源的分布式实时计算系统。Apache Storm 使可靠地处理无限数据流变得容易,它为实时处理做了 Hadoop 为批处理所做的事情。Apache Storm 简单易用,可以与任何编程语言一起使用,而且使用起来非常有趣!
Apache Storm 有许多用例:实时分析、在线机器学习、连续计算、分布式 RPC、ETL 等等。Apache Storm 速度快:基准测试显示它每秒每个节点处理超过一百万个元组。它具有可扩展性、容错性,保证您的数据将被处理,并且易于设置和操作。
Apache Storm 与您已经使用的排队和数据库技术集成。Apache Storm 拓扑消耗数据流,并以任意复杂的方式处理这些流,根据需要在计算的每个阶段之间重新分配流。

如何使用此图像
在本地模式下运行拓扑
假设你在当前目录中有 topology.jar 。
$ docker run -it -v $(pwd)/topology.jar:/topology.jar storm storm jar /topology.jar org.apache.storm.starter.ExclamationTopology
设置最小的 Storm 集群
-
Apache Zookeeper 是运行 Storm 集群的必备条件。首先启动它。由于 Zookeeper“快速失败”,最好始终重新启动它。
$ docker run -d --restart always --name some-zookeeper zookeeper -
Nimbus 守护进程必须与 Zookeeper 连接。它也是一个“快速失败”系统。
$ docker run -d --restart always --name some-nimbus --link some-zookeeper:zookeeper storm storm nimbus -
最后启动一个单独的 Supervisor 节点。它将与 Nimbus 和 Zookeeper 进行通信。
$ docker run -d --restart always --name supervisor --link some-zookeeper:zookeeper --link some-nimbus:nimbus storm storm supervisor -
现在您可以向我们的集群提交拓扑。
$ 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 -
可选地,您可以启动 Storm UI。
$ docker run -d -p 8080:8080 --restart always --name ui --link some-nimbus:nimbus storm storm ui
...通过 docker-compose 或 docker stack deploy
示例 docker-compose.yml 用于 storm :
version: '3.1'
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
运行 docker stack deploy -c stack.yml storm (或 docker-compose -f stack.yml up )并等待其完全初始化。Nimbus 将在 http://swarm-ip:6627 、 http://localhost:6627 或 http://host-ip:6627 (视情况而定)可用。
配置
此图像使用 Apache Storm 的默认配置。有两种主要方法可以更改它。
-
使用命令行参数。
$ docker run -d --restart always --name nimbus storm storm nimbus -c storm.zookeeper.servers='["zookeeper"]' -
假设当前目录中有
storm.yaml,则可以将其挂载为卷。$ docker run -it -v $(pwd)/storm.yaml:/conf/storm.yaml storm storm nimbus
日志记录
此图像使用默认的日志记录配置。默认情况下,所有日志都将转到 /logs 目录。
数据持久性
默认情况下不会保存任何数据。为了方便起见,映像中存在由 storm 用户拥有的 /data 和 /logs 目录。相应地使用它们来使用卷保存数据和日志。
$ docker run -it -v /logs -v /data storm storm nimbus
请注意,使用除预定义路径之外的路径可能会导致权限被拒绝的错误。这是因为出于安全原因,Storm 是在非 root storm 用户下运行的。
许可证
Apache Storm、Storm、Apache、Apache 羽毛标志和 Apache Storm 项目标志是 Apache 软件基金会的商标。
根据 Apache 许可证 2.0 版获得许可。
查看许可信息。
与所有 Docker 镜像一样,这些镜像可能还包含其他软件,这些软件可能受其他许可证的约束(例如来自基础发行版的 Bash 等,以及所包含的主要软件的任何直接或间接依赖项)。
一些能够自动检测到的额外许可证信息可能会在 repo-info 存储库的 storm/ 目录中找到。
对于任何预构建的映像使用,映像用户有责任确保对此映像的任何使用都符合其中包含的所有软件的任何相关许可证。
