我的团队正在亚马逊云上部署一个新的大数据架构。我们已经启动了mesos并运行spark作业。
我们正在从同一集群内的堡垒主机提交spark作业(即:jar)。但是,这样做,bastion主机就是驱动程序,这被称为客户机模式(如果我理解正确的话)。
我们想尝试群集模式,但不知道从何处开始dispatcher进程。
文档中说要在集群中启动它,但我很困惑,因为我们的主机没有安装spark,我们使用zookeeper进行主机选举。在从属节点上启动它不是一个可用的选项,因为从属节点可能会失败,并且我们不想向堡垒主机公开从属ip或公共dns。
在堡垒主机上启动调度程序正确吗?
非常感谢你
3条答案
按热度按时间dgiusagp1#
文档不是很详细。但是,我们对我们的发现非常满意:根据文档,mesos集群(以及python应用程序)不支持集群模式。
但是,我们开始使用
--master mesos://zk://...
要提交申请,您需要以下内容:如果您在bastion机器上运行这个命令,它将不起作用,因为mesos主机将在bastion所在的路径中查找可提交的jar。我们最终将该文件公开为可下载的url。
希望这有帮助
f45qwnt82#
您可以使用带有spark和application.jar的docker映像,而不是将jar上传到s3。我还没试过,但我觉得应该有用。环境变量为
SPARK_DIST_CLASSPATH
在spark-env.sh
. 我使用spark发行版,在apachehadoop2.7.1中不使用hadoop编译vnjpjtjt3#
我没有在mesos中使用集群模式,集群模式的描述也不是很详细。甚至没有一个
--help
脚本上的选项,就像应该有的一样,imho。但是,如果你不通过考试--master
参数时,它会出错并显示一条帮助消息,结果是--zk
用于指定zookeeper url的选项。可能有效的方法是在堡垒上用适当的
--master
以及--zk
选项。那对你有用吗?