我最近遇到了Apache Mesos,并在Mesos上成功部署了我的Storm拓扑。
我想尝试在Apache Marathon上运行Storm拓扑/ Hadoop作业(有使用mesos-storm框架直接在Apache Mesos上运行Storm的问题)。
我找不到任何教程/文章可以列出如何从Apache Marathon启动Hadoop / Spark任务的步骤。
如果有人可以提供有关此主题的任何帮助或信息(可能是Marathon的Json作业定义,用于启动风暴/ hadoop作业),那将会很棒。
非常感谢
答案 0 :(得分:2)
感谢您的回复,我继续使用Marathon在Apache Mesos上部署了Storm-Docker集群。对于服务发现,我使用了HAProxy。此设置允许服务(nimbus或zookeeper等)在端口的帮助下相互通信,因此例如为服务添加多个实例不是问题,因为群集将使用端口找到它们并在所有端口之间对请求进行负载均衡服务的实例。以下是GitHub项目,其中包含Marathon配方和Docker镜像:https://github.com/obaidsalikeen/storm-marathon
答案 1 :(得分: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/