spark&yarn两种运行模式(1)

spark在yarn上的运行模式(cluster模式和client模式)

1.cluster模式

官网案例计算PI

spark-submit --class org.apache.spark.examples.SparkPi \
--master yarn \
--deploy-mode cluster \
--driver-memory 1g \
--executor-memory 1g \
--executor-cores 1 \
/export/servers/spark/examples/jars/spark-examples_2.11-2.0.2.jar \
10
关闭虚拟机内存检查(避免虚拟机内存不足时,无法运行)
<property>  
                <name>yarn.nodemanager.vmem-check-enabledname>  
               <value>falsevalue>  
 property> 

2.client模式

spark-submit --class org.apache.spark.examples.SparkPi \
--master yarn \
--deploy-mode client \
--driver-memory 1g \
--executor-memory 512m \
--executor-cores 1 \
/export/servers/spark/examples/jars/spark-examples_2.11-2.0.2.jar \
10

spark-shell必须使用client模式
spark-shell –master yarn –deploy-mode client在本地模式下不能开启yarn并且提交只能添加资源设置

spark-submit
--master yarn \
--deploy-mode client \
--driver-memory 1g \
--executor-memory 512m \
--executor-cores 1 \

3.两种模式的区别

cluster模式:Driver程序在YARN中运行,应用的运行结果不能在客户端显示,所以最好运行那些将结果最终保存在外部存储介质(如HDFS、Redis、Mysql)而非stdout输出的应用程序,客户端的终端显示的仅是作为YARN的job的简单运行状况。

client模式:Driver运行在Client上,应用程序运行结果会在客户端显示,所有适合运行结果有输出的应用程序(如spark-shell)

你可能感兴趣的:(spark)