首页 文章

如何从本地提交spark作业并连接到Cassandra集群

提问于
浏览
0

任何人都可以让我知道如何从本地提交spark Job并连接到Cassandra集群 .

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

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

使用上面的命令,我的spark Job能够连接到集群及其执行,但有时会遇到问题 .

所以我想从我的本地机器提交火花作业 . 任何人都可以指导我如何做到这一点 .

1 回答

  • 0

    你可以通过“在本地工作”来表达几件事

    以下是我的一些解释

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

    我不建议这样做有几个原因,最大的原因是您的远程计算机和集群中的执行程序之间仍将处理所有作业管理 . 这相当于让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 很重要 . jar之后的所有参数都被解释为应用程序的参数而不是spark-submit参数 .

    在本地计算机上运行Spark提交但在集群中运行驱动程序(集群模式)

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

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

    以本地模式运行Spark驱动程序

    最后,Spark存在 Local 模式,它在单个JVM中启动整个Spark Framework . 这主要用于测试 . 传递`--master local``激活本地模式

    有关更多信息,请查看有关提交应用程序的Spark文档

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

相关问题