Apache spark 从外部局域网使用spark cluster的问题

Apache spark 从外部局域网使用spark cluster的问题,apache-spark,Apache Spark,我正在尝试使用一个来自星团外部的火花星团。 问题是spark绑定到我的本地机器私有ip,它能够连接到主设备,但是由于ip问题,工人无法连接到我的机器(驱动程序)(他们看到我的私有ip,因为spark绑定到我的私有ip)。 我可以从工人日志中看到: “--驱动程序url”spark://CoarseGrainedScheduler@私人笔记本电脑:34355“ 有什么帮助吗?尝试将spark.driver.host(搜索更多信息)设置到您的公共IP,然后工作人员将使用该地址而不是(自动解析的)专用

我正在尝试使用一个来自星团外部的火花星团。 问题是spark绑定到我的本地机器私有ip,它能够连接到主设备,但是由于ip问题,工人无法连接到我的机器(驱动程序)(他们看到我的私有ip,因为spark绑定到我的私有ip)。 我可以从工人日志中看到: “--驱动程序url”spark://CoarseGrainedScheduler@私人笔记本电脑:34355“


有什么帮助吗?

尝试将
spark.driver.host
(搜索更多信息)设置到您的公共IP,然后工作人员将使用该地址而不是(自动解析的)专用IP

尝试将
spark.driver.bindAddress
设置为
0.0.0
,以便驱动程序可以收听全局消息

这可能会起作用,但不建议这样做,因为这会限制您的集群仅使用该驱动程序机器。最好在创建spark上下文时传递该参数-请参阅我引用的页面顶部的说明(使用SparkConf.set或使用--conf)。我尝试了,但我的电脑无法绑定到我的公共IP,因此出现了错误。不确定是否可以在Linux上的公共IP上绑定如果此公共IP为常量,您可以将其添加到本地计算机上的/etc/hosts文件中,以便可以从计算机本身解决此问题。您可以澄清这一点吗?假设它是9.9.9.9,我应该添加什么以及为什么?您应该在/etc/hosts文件中添加行“9.9.9.9 localhost”。这将告诉此计算机上的任何进程9.9.9直接指向计算机本身,因此进程将能够侦听9.9.9.9:。