通过VPN跨网络的Spark Yarn客户端模式

时间:2015-04-05 17:01:53

标签: apache-spark yarn

我一直在努力让Spark纱线客户端模式通过VPN工作。更具体地说,火花驱动器将从我的笔记本电脑本地启动,而纱线集群在其自己的专用网络中通过非桥接VPN可到达。 第一个挑战是使火花集群的火花驱动器服务可以到达,因为VPN是单向的,我的笔记本电脑不能从集群中路由。 我设法通过在/ etc / hosts中添加一个条目将公共域名指向我的本地网络IP来实现这一点,例如

  

192.168.0.6 spark.driver.mydomain

然后我设置spark.driver.host = spark.driver.mydomain。 现在spark驱动程序可以成功绑定到spark.driver.mydomain,并告诉yarn应用程序管理器连接到spark.driver.mydomain。我还需要通过修改我的域的DNS来配置spark.driver.mydomain以指向我的公共IP,并配置防火墙以使该服务公开可用。 现在我可以从我的笔记本电脑中运行火花来驱动集群,几乎就在那里。但是SparkUI不起作用。没有办法连接到SparkUI,尽管消息说它已经在spark.driver.mydomain:4040上完成了。我使用DMZ通过本地网络的防火墙打开了所有端口。我也尝试使用本地网络IP地址。我可以注意到它被重定向到纱线资源管理器链接,http://resourcemanager/proxy/application_id但最终只是超时,我还没有弄清楚代理的工作原理。 火花会议偶尔也会发出警告信息,如

  

WARN ReliableDeliverySupervisor:与远程系统关联   [akka.tcp:// sparkExecutor @ executor:port]失败了,地址是   现在为[5000] ms门控。原因是:[解除关联]。

尽管有警告信息,基本的火花动作仍然有效。 还有很多问题和疑问

  • 在这种情况下,火花驱动器和纱线群之间的通信是否包含未加密的数据?是否有任何数据安全问题(假设VPN是安全的)。
  • 无法访问SparkUI,这是无法容忍的。
  • 警告信息
  • 在纱线客户端模式下从远程网络运行驱动程序真的是一个好习惯吗?这样做肯定还有其他好处,但是为实现这一目的而设计的框架是什么?

最后,这是一个JIRA问题,可能会导致更一般的解决方案。 https://issues.apache.org/jira/browse/SPARK-5113

0 个答案:

没有答案