Hadoop 使用Spark submit在整个集群中运行Spark作业
我最近在Amazon EMR上建立了一个Spark集群,其中有1个主服务器和2个从服务器 我可以运行Hadoop 使用Spark submit在整个集群中运行Spark作业,hadoop,apache-spark,pyspark,emr,amazon-emr,Hadoop,Apache Spark,Pyspark,Emr,Amazon Emr,我最近在Amazon EMR上建立了一个Spark集群,其中有1个主服务器和2个从服务器 我可以运行pyspark,并使用spark submit提交作业 但是,当我创建一个独立作业(如job.py)时,我会创建一个SparkContext,如下所示: sc=SparkContext("local", "App Name") 这似乎不对,但我不知道该放什么 当我提交作业时,我确信它没有利用整个集群 如果我想对整个集群运行一个作业,比如说每个从机运行4个进程,我必须做什么 a、 )作为参数传递给
pyspark
,并使用spark submit
提交作业
但是,当我创建一个独立作业(如job.py
)时,我会创建一个SparkContext,如下所示:
sc=SparkContext("local", "App Name")
这似乎不对,但我不知道该放什么
当我提交作业时,我确信它没有利用整个集群
如果我想对整个集群运行一个作业,比如说每个从机运行4个进程,我必须做什么
a、 )作为参数传递给spark submit
b、 )作为参数传递给脚本本身中的
SparkContext()
。您可以使用
conf = SparkConf().setAppName(appName)
sc = SparkContext(conf=conf)
对于spark standalone cluster,您必须使用以下命令将程序提交到spark submit
./bin/spark-submit --master spark://<sparkMasterIP>:7077 code.py
纱线簇的设计
./bin/spark-submit --master yarn --deploy-mode cluster code.py
对于纱线主机,配置将从HADOOP_CONF_DIR读取
./bin/spark-submit --master yarn --deploy-mode cluster code.py