2

我最近遇到了 Apache Mesos,并成功地在 Mesos 上部署了我的 Storm 拓扑。

我想尝试在 Apache Marathon 上运行 Storm 拓扑/Hadoop 作业(使用 mesos-storm 框架直接在 Apache Mesos 上运行 Storm 时遇到问题)。

我找不到任何教程/文章可以列出如何从 Apache Marathon 启动 Hadoop/Spark 任务的步骤。

如果有人可以提供有关此主题的任何帮助或信息,那就太好了(可能是 Marathon 的 Json 作业定义,用于启动 Storm/hadoop 作业)。

非常感谢

4

2 回答 2

2

感谢您的回复,我继续使用 Marathon 在 Apache Mesos 上部署了一个 Storm-Docker 集群。对于服务发现,我使用了 HAProxy。此设置允许服务(nimbus 或 zookeeper 等)在端口的帮助下相互通信,因此例如为服务添加多个实例不是问题,因为集群将使用端口找到它们并负载平衡所有请求之间的请求服务的实例。以下是包含 Marathon 食谱和 Docker 图像的 GitHub 项目:https ://github.com/obaidsalikeen/storm-marathon

于 2015-01-09T15:57:26.283 回答
1

Marathon 旨在用于长时间运行的服务,因此您可以使用它来启动 JobTracker 或 Spark 调度程序,但您最好在 Chronos 等批处理框架上启动实际的批处理作业(如 Hadoop/Spark 任务)(https://github .com/airbnb/chronos)。Marathon 将在完成/失败时重新启动任务,而 Chronos(具有依赖关系的分布式 cron)允许您设置计划的作业和复杂的工作流程。

虽然有点过时,但下面的教程给出了一个很好的例子。

http://mesosphere.com/docs/tutorials/etl-pipelines-with-chronos-and-hadoop/

于 2014-12-24T18:59:01.620 回答