[英]Running a Spark job with spark-submit across the whole cluster
我最近在Amazon EMR上设置了一个具有1个主节点和2个从属节点的Spark集群。
我可以运行pyspark
,并使用spark-submit
提交作业。
但是,当我创建一个独立的作业(如job.py
,会创建一个SparkContext,如下所示:
sc=SparkContext("local", "App Name")
这似乎不正确,但我不确定该放在哪里。
当我提交作业时,我确定它没有利用整个集群。
如果要对整个群集运行作业,例如每个从属设备有4个进程,我该怎么做
a。)作为参数spark-submit
给spark-submit
b。)作为参数传递给脚本本身中的SparkContext()
。
您可以使用创建火花上下文
conf = SparkConf().setAppName(appName)
sc = SparkContext(conf=conf)
并且您必须使用以下命令将程序提交给spark-submit
以进行独立的集群
./bin/spark-submit --master spark://<sparkMasterIP>:7077 code.py
对于Mesos集群
./bin/spark-submit --master mesos://207.184.161.138:7077 code.py
对于YARN集群
./bin/spark-submit --master yarn --deploy-mode cluster code.py
对于YARN主设备,将从HADOOP_CONF_DIR中读取配置。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.