2015-07-01 38 views
1

我的团队正在Amazon Cloud上部署新的大数据架构。我们已经启动并运行Spark作业。Spark Mesos Dispatcher

我们从同一集群内的堡垒主机提交Spark作业(即:jars)。但是,这样做,堡垒主机是驱动程序,这称为client mode(如果我理解正确)。

我们想尝试cluster mode,但我们不明白从哪里开始调度程序。

文档说它在集群中启动它,但我很困惑,因为我们的主人没有安装Spark,而且我们使用Zookeeper进行主选。在从属节点上启动它并不是一个可行的选项,因为从属服务器可能会失败,并且我们不希望将一个从属IP或公共DNS暴露给堡垒主机。

在堡垒主机上启动调度程序是否正确?

非常感谢您

回答

5

文档不是很详细。 但是,我们非常满意我们发现的: 根据documentation,群集模式不支持Mesos群集(以及Python应用程序)。

然而,我们开始使用--master mesos://zk://...

递交申请的调度员,你需要以下条件:

spark-submit --deploy-mode cluster <other options> --master mesos://<dispatcher_ip>:7077 <ClassName> <jar> 

如果你从一个堡垒机上运行此命令,它不会工作,因为Mesos大师将在与堡垒相同的路径中查找可提交的jar。我们结束将该文件公开为可下载的URL。

希望这有助于

+0

你是如何启动调度程序?我的意思是在哪里指定 - 大师mesos:// zk:// ... –

+0

对不起,这是很久以前。我们因为各种原因放弃了Mesos作为资源经理,因此我无法回答或指出您对文档 – besil

+0

非常感谢您抽出宝贵时间发表评论!美好的一天 ! :) –

0

我没有用集群模式Mesos和cluster mode description不是很详细。该脚本甚至没有--help选项,就像应该有的那样,恕我直言。但是,如果您未通过--master参数,则会通过帮助消息发出错误消息,结果显示指定Zookeeper URL的选项有--zk

可能的工作是在堡垒本身上启动该脚本,并使用相应的--master--zk选项。这对你有用吗?

0

你可以使用一个码头工人形象火花和你application.jar而不是上传罐子S3的。我还没有尝试,但我认为它应该工作。环境变量中的SPARK_DIST_CLASSPATH。我使用火花分布编译没有hadoop与apache hadoop 2.7.1

export SPARK_DIST_CLASSPATH=$(/opt/hadoop/bin/hadoop classpath):/opt/hadoop/share/hadoop/tools/lib/*:/opt/application.jar 
相关问题