【问题标题】:How to submit spark Job from locally and connect to Cassandra cluster如何从本地提交 Spark Job 并连接到 Cassandra 集群
【发布时间】:2017-12-14 22:00:33
【问题描述】:

谁能告诉我如何从本地提交 spark Job 并连接到 Cassandra 集群。

目前我通过putty登录到Cassandra节点并提交以下dse-spark-submit Job命令后提交Spark作业。

命令: dse spark-submit --class ***** --total-executor-cores 6 --executor-memory 2G **/**/**.jar --config-file build/job.conf --args

使用上述命令,我的 spark Job 能够连接到集群并执行它,但有时会遇到问题。

所以我想从我的本地机器提交 spark 作业。谁能指导我如何做到这一点。

【问题讨论】:

    标签: apache-spark cassandra spark-cassandra-connector


    【解决方案1】:

    “在本地运行我的工作”可能意味着几件事

    以下是我的一些解释

    在本地计算机上运行 Spark 驱动程序,但访问远程集群的资源

    出于几个原因,我不建议这样做,最大的原因是您的所有作业管理仍将在您的远程计算机和集群中的执行程序之间处理。这相当于让 Hadoop Job Tracker 在与 Hadoop 发行版的其余部分不同的集群中运行。

    要完成此操作,您需要使用特定的主 uri 运行 spark 提交。此外,您需要通过 spark.cassandra.connection.host 指定 Cassandra 节点

    dse spark-submit --master spark://sparkmasterip:7077 --conf spark.cassandra.connection.host aCassandraNode --flags jar
    

    将罐子放在最后很重要。 jar 之后的所有参数都被解释为应用程序的参数,而不是 spark-submit 参数。

    在本地机器上运行 Spark Submit,但让驱动程序在集群中运行(集群模式)

    集群模式意味着您的本地计算机将 jar 和环境字符串发送到 Spark Master。然后 Spark Master 选择一个工作人员来实际运行驱动程序,并且驱动程序由工作人员作为单独的 JVM 启动。这是使用--deploy-mode cluster 标志触发的。除了指定 Master 和 Cassandra 连接主机。

    dse spark-submit --master spark://sparkmasterip:7077 --deploy-mode cluster --conf spark.cassandra.connection.host aCassandraNode --flags jar
    

    Local 模式下运行 Spark 驱动程序

    Spark 终于有了Local 模式,它在单个 JVM 中启动整个 Spark 框架。这主要用于测试。通过传递 `--master local``

    激活本地模式

    有关更多信息,请查看有关提交申请的 Spark 文档

    http://spark.apache.org/docs/latest/submitting-applications.html

    【讨论】:

    • 我试图编辑答案,但我不允许编辑 1 个字符。但是--conf spark.cassandra.connection.host aCassandraNode 应该是--conf spark.cassandra.connection.host=aCassandraNode
    猜你喜欢
    • 2020-08-10
    • 2022-06-15
    • 2017-05-20
    • 1970-01-01
    • 2023-03-14
    • 2016-07-14
    • 2017-02-28
    • 2016-08-27
    • 1970-01-01
    相关资源
    最近更新 更多