我最近遇到了apachemesos,并成功地在mesos上部署了我的storm拓扑。
我想尝试在apachemarathon上运行storm topology/hadoop作业(在使用mesos storm框架的apachemesos上直接运行storm时遇到问题)。
我找不到任何教程/文章可以列出如何从apachemarathon启动hadoop/spark任务的步骤。
如果有人能在这个主题上提供任何帮助或信息(可能是启动storm/hadoop作业的marathon的json作业定义),那就太好了。
谢谢
2条答案
按热度按时间eqqqjvef1#
marathon适用于长时间运行的服务,因此您可以使用它来启动jobtracker或spark scheduler,但最好在chronos等批处理框架上启动hadoop/spark tasks等实际批处理作业(https://github.com/airbnb/chronos). marathon将在任务完成/失败时重新启动任务,而chronos(具有依赖关系的分布式cron)允许您设置计划的作业和复杂的工作流。
虽然有些过时,但下面的教程给出了一个很好的示例。
http://mesosphere.com/docs/tutorials/etl-pipelines-with-chronos-and-hadoop/
dzjeubhm2#
感谢您的回复,我继续在ApacheMesos上部署了storm docker集群和marathon。对于服务发现,我使用了haproxy。这种设置允许服务(nimbus或zookeeper等)在端口的帮助下相互通信,因此例如,为一个服务添加多个示例不是问题,因为集群将使用端口找到它们,并在服务的所有示例之间负载平衡请求。以下是github项目,其中包含马拉松食谱和docker图像:https://github.com/obaidsalikeen/storm-marathon