gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 09:27:34 39 4
gpt4 key购买 nike

所有这些有什么区别和用途?

  • spark.local.ip
  • spark.driver.host
  • spark.driver.bind地址
  • spark.driver.hostname

  • 如何将机器修复为 Spark 独立集群中的驱动程序?

    最佳答案

    简洁版本

    ApplicationMaster 通过 spark.driver.host 连接到 spark Driver

    spark驱动程序绑定(bind)到客户端机器上的bindAddress

    举例

    1 端口绑定(bind)示例

    .config('spark.driver.port','50243')

    然后 netstat -ano在 window 上
    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
    2 从 ApplicationMaster 到 Driver 指定 ip 的例子
    .config('spark.driver.host','192.168.132.1')

    然后 netstat -ano
    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无法连接并报错
    Caused by: java.net.NoRouteToHostException: No route to host

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

    3 ip绑定(bind)示例
    .config('spark.driver.host','172.18.1.194')
    .config('spark.driver.bindAddress','192.168.132.1')

    然后 netstat -ano
    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.driver.hostnamespark.local.ip .但是有 一个名为 SPARK_LOCAL_IP 的环境变量

    在解释变量之前,首先我们要了解申请提交过程

    计算机的主要作用:
  • 开发机
  • 主节点(YARN/Spark Master)
  • 工作节点

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

    ApplicationMaster 始终在集群中。

    Spark 驱动器的位置
  • 开发机:客户端模式
  • 集群内:集群模式,同ApplicationMaster

  • 假设我们正在谈论客户端模式

    spark应用程序可以从作为应用程序的客户端机器的开发机器提交,也可以从集群的客户端机器提交。

    spark 应用程序也可以从集群中的一个节点(主节点或工作节点或只是没有资源管理器角色的特定机器)提交

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

    在应用提交过程开始时,客户端的 spark-submit 会将必要的文件上传到 spark master 或 yarn,并协商资源请求。在这一步客户端连接到集群,集群地址是客户端尝试连接的目的地址。

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

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

    然后 ApplicationMaster 尝试连接 返回 到 Spark 驱动程序。这是这些 conf 变量生效的地方。

    关于apache-spark - spark.local.ip ,spark.driver.host,spark.driver.bindAddress 和 spark.driver.hostname 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43692453/

    39 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com