Spark三种运行模式
1.Spark运行模式:
①Local(也称单节点模式):常用于开发和学习
./spark-shell - -master local[n] ,n代表线程数
②Standalone(集群模式)(应用较少)
独立模式,类似MapReduce 1.0所采取的模式,完全由内部实现容错性和资
源管理
③Spark on Yarn(两种模式集群模式) :Yarn Client 与 Yarn Cluster
3.1 Yarn Client:
Yarn Client:适用于交互与调试(应用较多)
交互:提供一个终端进行个调试->反馈一个结果(实时)
让Spark运行在一个通用的资源管理系统之上,这样可以与其他计算框架共享
资源
3.2 Yarn Cluster
Yarn Cluster:(集群)适用于生产环境(公司应用较多)
有哪些信息要输出要反馈都是输出到log日志文件中,只能查看log(后知后觉)
2.验证Spark三种模式代码
1)本地模式:
./bin/run-example SparkPi 10 --master local[2]
2) 集群模式 Spark Standalone:
./bin/spark-submit --class org.apache.spark.examples.SparkPi --master spark://master:7077
/usr/local/src/spark-2.0.2-bin-hadoop2.6/examples/jars/spark-examples_2.11-2.0.2.jar
3) 集群模式 Spark on Yarn集群上yarn-client 模式:
方式一:直接在 --master 后面使用 yarn-client和yarn-cluster进行指定
./bin/spark-submit --class org.apache.spark.examples.SparkPi --master yarn-client /usr/local/src/spark- 2.0.2-bin-hadoop2.6/examples/jars/spark-examples_2.11-2.0.2.jar
方式二:通过--deploy-mode 进行指定
./bin/spark-submit --class org.apache.spark.examples.SparkPi --master yarn --deploy-mode client
/usr/local/src/spark-2.0.2-bin-hadoop2.6/examples/jars/spark-examples_2.11-2.0.2.jar
4) 集群模式 Spark on Yarn集群上yarn-cluster 模式:
方式一:直接在 --master 后面使用 yarn-client和yarn-cluster进行指定
./bin/spark-submit --class org.apache.spark.examples.SparkPi --master yarn-cluster
/usr/local/src/spark-2.0.2-bin-hadoop2.6/examples/jars/spark-examples_2.11-2.0.2.jar
方式二:通过--deploy-mode 进行指定
./bin/spark-submit --class org.apache.spark.examples.SparkPi --master yarn --deploy-mode cluster
/usr/local/src/spark-2.0.2-bin-hadoop2.6/examples/jars/spark-examples_2.11-2.0.2.jar
4.Yarn-Cluster
在Yarn-cluster模式下,driver运行在Appliaction Master上,Appliaction Master进程同时负责驱动Application和从Yarn中申请资源,该进程运行在Yarn container内,所以启动Application Master的client可以立即关闭而不必持续到Application的生命周期,下图是yarn-cluster模式