尝试连接到 spark master 时无法绑定随机自由端口错误

新手上路,请多包涵

我有一个在亚马逊 ec2 上运行的 spark master。我尝试使用 pyspark 从另一个 ec2 实例连接到它,如下所示:

 spark = SparkSession.builder.appName("MyApp") \
                            .master("spark_url_as_obtained_in_web_ui") \
                            .getOrCreate()

以下是错误:

要调整日志记录级别,请使用 sc.setLogLevel(newLevel)。对于 SparkR,使用 setLogLevel(newLevel)。

2018-04-04 20:03:04 WARN Utils:66 - 服务“sparkDriver”无法绑定到随机空闲端口。您可以查看是否配置了合适的绑定地址。

…………

java.net.BindException:无法分配请求的地址:重试 16 次后服务“sparkDriver”失败(在随机空闲端口上)!考虑将服务“sparkDriver”的适当绑定地址(例如 SparkDriver 的 spark.driver.bindAddress)显式设置为正确的绑定地址。

我尝试了此处描述的所有解决方案,但无济于事:

  1. 连接到远程 Spark master - Java/Scala

  2. 所有高手都没有反应! ? Spark master 没有响应 datastax 架构

  3. Spark 独立集群 - 从站未连接到主站

  4. Spark 主机:7077 无法访问

  5. spark 提交“服务‘驱动程序’无法绑定端口”错误

  6. https://community.hortonworks.com/questions/8257/how-can-i-resolve-it.html

可能出了什么问题??

原文由 Adarsh 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.3k
2 个回答

spark.driver.bindAddress 设置为您的本地 IP,例如 127.0.0.1

 pyspark -c spark.driver.bindAddress=127.0.0.1

原文由 Chitral Verma 发布,翻译遵循 CC BY-SA 3.0 许可协议

在创建 spark 会话时设置以下配置

spark =SparkSession.builder.appName(str(name))\
      .master("local[*]").config("spark.driver.memory","5g")\
      .config("spark.driver.host","10.51.4.110")\ #Machine ip
      .config("spark.driver.bindAddress","10.51.4.110")\ #Machine ip
      .getOrCreate()

有时除了绑定地址,我们还需要设置主机地址。在我的例子中,系统主机地址更改为系统名称。 Spark 显示超时错误。然后在将主机和绑定地址设置为相同之后。它工作正常

*10.51.4.110 - 本地机器 IP

原文由 saravanan saminathan 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进