首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >spark.local.ip,spark.driver.host,spark.driver.bindAddress和spark.driver.hostname是什么?

spark.local.ip,spark.driver.host,spark.driver.bindAddress和spark.driver.hostname是什么?
EN

Stack Overflow用户
提问于 2017-04-29 06:17:25
回答 1查看 17.5K关注 0票数 12

这些都会有什么区别和用途呢?

  • spark.local.ip
  • spark.driver.host
  • spark.driver.bindAddress
  • spark.driver.hostname

如何在星火独立集群中将机器作为驱动程序进行修复?

EN

Stack Overflow用户

发布于 2019-12-06 07:40:39

短版

ApplicationMaster与火花驱动程序的spark.driver.host连接

星火驱动程序绑定到客户端机器上的bindAddress

通过实例

端口绑定1例

代码语言:javascript
运行
复制
.config('spark.driver.port','50243')

然后windows上的netstat -ano

代码语言:javascript
运行
复制
TCP    172.18.1.194:50243     0.0.0.0:0              LISTENING       15332
TCP    172.18.1.194:50243     172.18.7.122:54451     ESTABLISHED     15332
TCP    172.18.1.194:50243     172.18.7.124:37412     ESTABLISHED     15332
TCP    172.18.1.194:50243     172.18.7.142:41887     ESTABLISHED     15332
TCP    [::]:4040              [::]:0                 LISTENING       15332

集群172.18.7.1xx中的节点位于与我的开发机器172.181.1.194相同的网络中,而网络掩码是255.255.248.0

从ApplicationMaster到驱动程序指定ip的2个示例

代码语言:javascript
运行
复制
.config('spark.driver.host','192.168.132.1')

然后是netstat -ano

代码语言:javascript
运行
复制
TCP    192.168.132.1:58555    0.0.0.0:0              LISTENING       9480
TCP    192.168.132.1:58641    0.0.0.0:0              LISTENING       9480
TCP    [::]:4040              [::]:0                 LISTENING       9480

但是,ApplicationMaster无法连接并报告错误。

代码语言:javascript
运行
复制
Caused by: java.net.NoRouteToHostException: No route to host

因为这个ip是我的开发机器上的VM桥。

ip绑定3例

代码语言:javascript
运行
复制
.config('spark.driver.host','172.18.1.194')
.config('spark.driver.bindAddress','192.168.132.1')

然后是netstat -ano

代码语言:javascript
运行
复制
TCP    172.18.1.194:63937     172.18.7.101:8032      ESTABLISHED     17412
TCP    172.18.1.194:63940     172.18.7.102:9000      ESTABLISHED     17412
TCP    172.18.1.194:63952     172.18.7.121:50010     ESTABLISHED     17412
TCP    192.168.132.1:63923    0.0.0.0:0              LISTENING       17412
TCP    [::]:4040              [::]:0                 LISTENING       17412

详细版本

在详细解释之前,只有以下三个相关的conf变量:

  • spark.driver.host
  • spark.driver.port
  • spark.driver.bindAddress

没有像spark.local.ip这样的变量。但是,一个名为SPARK_LOCAL_IP的环境变量。

在解释变量之前,首先要了解应用程序的划分过程。

计算机的主要作用:

  • 显影机
  • 主节点(纱线/火花主)
  • 工人节点

每个应用程序都有一个ApplicationMaster,它处理来自集群的资源请求和作业(阶段)的状态监视器。

ApplicationMaster总是在集群中。

火花驱动器的位置

  • 开发机器:客户端模式
  • 在集群中:集群模式,与ApplicationMaster相同的位置

假设我们讨论的是客户端模式

spark应用程序可以从开发机器提交,开发机器充当应用程序的客户端机器以及集群的客户端机器。

spark应用程序也可以从集群内的节点(主节点或工作节点,或者仅仅是没有资源管理器角色的特定机器)提交。

客户端机器可能不会与集群放在同一个子网中,这是这些变量试图处理的一种情况。想想你的互联网连接,你的笔记本电脑通常不可能像google.com一样从全球任何地方被访问。

在申请提交过程开始时,客户端的火花提交将上传必要的文件到火花主机或纱线,并就资源请求进行协商。在此步骤中,客户端连接到群集,群集地址是客户端试图连接的目标地址。

然后,在分配的资源上启动ApplicationMaster。

默认情况下,分配给ApplicationMaster的资源是随机的,不能由这些变量控制。它由集群的调度程序控制,如果您对此感到好奇的话。

然后,ApplicationMaster尝试将与火花驱动程序连接回。这就是这些conf变量发挥作用的地方。

票数 10
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43692453

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档