环境如下
- win10
- IDEA2020.3
- spark2.4.4
在Windows上调试Spark程序时出现如下错误:
Spark程序在运行的时候会提供一个名为SparkUI的web子程序来显示Spark程序执行状态,启动Web程序就需要监听一个端口,默认为4040,这个好像是端口被占用了,spark就会依次重试16,将端口号依次加1,如果重试16次之后依然被占用,就会抛出异常。
解决方法
需要配置端口被占用之后的重试次数,代码如下
spark.port.maxRetries=100
val spark = SparkSession.builder()
.config("spark.sql.shuffle.partitions","2")
.config("spark.port.maxRetries",100)
.appName("省市区经纬度")
.master("local")
.getOrCreate()
再次运行Spark程序发现绑定的端口为4098