任何人都可以告诉我如何从本地提交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作业。任何人都可以指导我如何做到这一点。
答案 0 :(得分:0)
有几件事你可以说是"在当地经营我的工作"
以下是我的一些解释
我不建议这样做有几个原因,最重要的是您的远程计算机和集群中的执行程序之间仍将处理所有作业管理。这相当于让Hadoop Job Tracker在与Hadoop发行版其余部分不同的集群中运行。
要实现此目的,您需要使用特定的主uri运行spark提交。此外,您需要通过spark.cassandra.connection.host
dse spark-submit --master spark://sparkmasterip:7077 --conf spark.cassandra.connection.host aCassandraNode --flags jar
最后保持罐子很重要。 jar之后的所有参数都被解释为应用程序的参数而不是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存在Local
模式,它在单个JVM中启动整个Spark Framework。这主要用于测试。通过传递`--master local``
有关更多信息,请查看有关提交申请的Spark文档
http://spark.apache.org/docs/latest/submitting-applications.html