在防火墙后面,向Apache Spark提交工作



用户酶:我在防火墙后面,并且有一个可以访问的远程火花群集,但是这些机器无法直接连接到我。

正如Spark Doc所说,工人有必要达到驾驶员程序:

由于驱动程序在集群上安排任务,因此应运行 接近工人节点,最好在同一局域网上。 如果您想远程发送请求,最好 向驾驶员打开RPC,并从附近提交操作

将驾驶员远离驾驶员。

建议的解决方案是在群集上运行一个服务器进程,并让其在本地执行Spark驱动程序程序。

这样的程序已经存在吗?这样的过程应管理1 RPC,返回异常和处理日志。

在这种情况下,我的本地程序还是必须创建SparkContext的火花驱动程序?

注意:我有一个独立的群集

解决方案1

一种简单的方法是使用群集模式(类似于--deploy-mode cluster(作为独立群集,但是文档说:

当前,独立模式不支持Python的集群模式 应用。

只有几个选项:

  • 使用ssh,启动screen,提交Spark应用程序,回去检查结果。
  • 在群集上部署中间件,例如作业服务器,利维或雾气,并将其用于提交。
  • 在群集上部署笔记本(Zeppelin,Toree(,并从笔记本上提交应用程序。
  • 将固定的spark.driver.portssh设置为通过一个群集节点转发所有连接,使用其IP作为spark.driver.bindAddress

最新更新