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

时间:2016-12-23 00:39:15

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

任何人都可以告诉我如何从本地提交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能够连接到集群及其执行,但有时会遇到问题。

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

1 个答案:

答案 0 :(得分:0)

有几件事你可以说是"在当地经营我的工作"

以下是我的一些解释

在本地计算机上运行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会选择一个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

Local模式

运行Spark驱动程序

最后,Spark存在Local模式,它在单个JVM中启动整个Spark Framework。这主要用于测试。通过传递`--master local``

激活本地模式

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

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