【问题标题】:Submitting Applications to apache spark 2.3 via REST API通过 REST API 向 apache spark 2.3 提交应用程序
【发布时间】:2019-12-02 17:13:16
【问题描述】:

我有一个独立的集群,有 3 台机器(每台机器有 1 个工作节点),使用 PySpark。我正在运行的 Python 脚本是一个简单的转换,它从 Oracle 读取并写入 MongoDB

DataFrame 在读取和写入时进行分区,以更好地使用并行化和多连接。

当我通过 /bin/spark-submit 提交我的 .py 脚本时,在 Spark UI (HOST:8080) 中,我可以看到它被作为应用程序 (app-NNNNNNNNNNNN-IP-NNNN) 处理。它显示在 UI 的“正在运行的应用程序”部分中,我可以看到工作节点中分配的工作、正确分配的 RAM 和核心总量。在 Oracle 会话中,我可以看到来自所有 3 个工作人员 IP 的多个连接工作正常,在 MongoDB 中也是如此。一切正常,正如预期的那样。

现在我正在尝试做同样的事情,但使用远程提交,并使用 REST API“http://HOST:6066/v1/submissions/create”。但在这种情况下,提交被作为驱动程序(Driver-NNNNNNNNNNNNN-NNNN)处理,并且仅在一个工作人员上运行(驱动程序运行的工作程序节点因提交而异)。在 master 的 UI 中,它位于“Running Drivers”部分。

有没有办法通过 REST API 作为应用程序提交,或者所有提交都被视为驱动程序?

这是我在服务器本身上运行时可以正常运行的命令:

./spark-submit --master  spark://host:7077 --executor-memory 10G --total-executor-cores 20 path-to-my-py-script/my-py-script.py

这是我要发送到 REST API (http://host:6066/v1/submissions/create) 的消息

{
    "action": "CreateSubmissionRequest",
    "appArgs": [
        "path-to-my-py-script/my-py-script.py"
    ],
    "appResource": "path-to-my-py-script/my-py-script.py",
    "clientSparkVersion": "2.3.0",
    "environmentVariables": {
        "SPARK_ENV_LOADED": "1"
    },
    "mainClass": "org.apache.spark.deploy.SparkSubmit",
    "sparkProperties": {
        "spark.executor.memory": "4G",
        "spark.executor.cores": "10",
        "spark.driver.supervise": "true",
        "spark.ui.enabled": "true",
        "spark.eventLog.enabled": "true",
        "spark.submit.deployMode": "cluster",
        "spark.app.name": "RemoteSubmitTest",
        "spark.master": "spark://host:7077"
    }
}

【问题讨论】:

    标签: rest apache-spark pyspark bigdata cluster-computing


    【解决方案1】:

    相反,您可以尝试使用 Apache livy - Apache livy explaination

    如果对孵化项目 livy 不满意,那么其他选择是 Spark Job Server - Spark Job Server

    【讨论】:

    • 我希望能够使用默认的 REST API,但我会看看这些项目。谢谢。
    猜你喜欢
    • 2012-10-28
    • 1970-01-01
    • 2017-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-12
    • 1970-01-01
    相关资源
    最近更新 更多