gpt4 book ai didi

apache-spark - 从另一个应用程序以编程方式提交和终止 Spark 应用程序

转载 作者:行者123 更新时间:2023-12-04 10:24:36 24 4
gpt4 key购买 nike

我想知道是否有可能 提交 , 监视器 & 触发来自其他服务的应用程序。

我的要求如下:

我写了一个服务

  • 解析 用户命令
  • 翻译 他们变成可以理解的参数 已经准备好的 Spark-SQL 应用程序
  • 使用 将应用程序和参数提交给 Spark Cluster spark-submit 来自 ProcessBuilder
  • 并计划在 中运行生成的应用程序的驱动程序集群模式 .

  • 其他需求需求:
  • 查询 关于应用 状态 ,例如百分比保持
  • 依次查询

  • 我在 spark standalone documentation 中找到的内容建议使用以下命令杀死应用程序:
    ./bin/spark-class org.apache.spark.deploy.Client kill <master url> <driver ID>

    并应 find the driver ID through the standalone Master web UI at http://<master url>:8080.
    那么,我该怎么办?

    相关的问题:
    Spark application finished callback
    Deploy Apache Spark application from another application in Java, best practice

    最佳答案

    您可以使用 shell 脚本来执行此操作。

    部署脚本:

    #!/bin/bash

    spark-submit --class "xx.xx.xx" \
    --deploy-mode cluster \
    --supervise \
    --executor-memory 6G hdfs:///spark-stat.jar > output 2>&1

    cat output

    你会得到这样的输出:
    16/06/23 08:37:21 INFO rest.RestSubmissionClient: Submitting a request to launch an application in spark://node-1:6066.
    16/06/23 08:37:22 INFO rest.RestSubmissionClient: Submission successfully created as driver-20160623083722-0026. Polling submission state...
    16/06/23 08:37:22 INFO rest.RestSubmissionClient: Submitting a request for the status of submission driver-20160623083722-0026 in spark://node-1:6066.
    16/06/23 08:37:22 INFO rest.RestSubmissionClient: State of driver driver-20160623083722-0026 is now RUNNING.
    16/06/23 08:37:22 INFO rest.RestSubmissionClient: Driver is running on worker worker-20160621162532-192.168.1.200-7078 at 192.168.1.200:7078.
    16/06/23 08:37:22 INFO rest.RestSubmissionClient: Server responded with CreateSubmissionResponse:
    {
    "action" : "CreateSubmissionResponse",
    "message" : "Driver successfully submitted as driver-20160623083722-0026",
    "serverSparkVersion" : "1.6.0",
    "submissionId" : "driver-20160623083722-0026",
    "success" : true
    }

    并基于此,创建您的 kill 驱动程序脚本
    #!/bin/bash

    driverid=`cat output | grep submissionId | grep -Po 'driver-\d+-\d+'`

    spark-submit --master spark://node-1:6066 --kill $driverid

    确保使用 chmod +x 授予脚本执行权限

    关于apache-spark - 从另一个应用程序以编程方式提交和终止 Spark 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29990153/

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