我正在使用Apache Spark来运行机器学习算法和其他大数据任务。以前,我在同一台机器上使用运行spark master和worker的spark cluster standalone模式。现在,我添加了多个工作机器,由于防火墙严密,我必须编辑worker的随机端口。任何人都可以帮助如何更改随机火花端口,并告诉我究竟需要编辑什么配置文件?我阅读了spark文档,并说它应该配置spark-defaults.conf
但我不知道如何配置此文件以特别更改spark的随机端口。
答案 0 :(得分:7)
点击https://spark.apache.org/docs/latest/configuration.html#networking
在" Networking"部分,你可以看到一些默认随机的端口。您可以将它们设置为您的选择,如下所示:
val conf = new SparkConf()
.setMaster(master)
.setAppName("namexxx")
.set("spark.driver.port", "51810")
.set("spark.fileserver.port", "51811")
.set("spark.broadcast.port", "51812")
.set("spark.replClassServer.port", "51813")
.set("spark.blockManager.port", "51814")
.set("spark.executor.port", "51815")
答案 1 :(得分:5)
更新
有些库已从头开始重写,许多遗留*.port
属性现已过时(参见SPARK-10997 / SPARK-20605 / SPARK-12588 / SPARK-17678 /等)
例如,对于Spark 2.1,驱动程序将侦听执行程序流量的端口范围是
spark.driver.port
和spark.driver.port
+ spark.port.maxRetries
spark.driver.blockManager.port
和spark.driver.blockManager.port
+ spark.port.maxRetries
执行程序将侦听驱动程序流量和/或其他执行程序流量的端口范围是
spark.blockManager.port
和spark.blockManager.port
+ spark.port.maxRetries
“maxRetries”属性允许并行运行多个Spark作业;如果已经使用了基本端口,那么新作业将尝试下一个,等等,除非已经使用了整个范围。
来源:
https://spark.apache.org/docs/2.1.1/configuration.html#networking
“配置端口”下的https://spark.apache.org/docs/2.1.1/security.html