完整报错信息如下:

java.BindException: 
Cannot assign requested address: bind: Service 'sparkDriver' failed after 16 retries (on a random free port)! Consider explicitly setting the appropriate binding address for the service 'sparkDriver' (for example spark.driver.bindAddress for SparkDriver) to the correct binding address.

这是由于 IP 地址发生变更或者冲突引起的。

Linux 上运行 Spark 任务发生这个问题:

使用 ifconfig 命令查看本机的 IP 地址,然后修改 Spark 配置文件目录下的 spark-env.sh 文件,指定 export SPARK_LOCAL_IP 项为你自己的 IP 地址。

本地 IDEA 运行 Spark 任务发生这个问题:

加个配置项 config("spark.driver.host","localhost") 解决问题。

val sc: SparkSession = SparkSession.builder()
  .config("spark.driver.host","localhost")
  .appName("demo1")
  .master("local[*]")
  .getOrCreate()

更多推荐

bind: Service ‘sparkDriver‘ failed after 16 retries (on a random free port)! Con