Spark运行环境
spark ui web http://hadoop102:8080
历史服务器 http://hadoop102:18080
一. 本地模式(Local)——单机运行
本地模式:运行
bin/spark-shell
提交应用:运行
bin/spark-submit
--class org.apache.spark.examples.SparkPi //待执行程序的主类
--master local[2] //部署模式以及虚拟核数
./examples/jars/spark-examples_2.12-3.0.0.jar //主类所在的Jar包
10 //程序的入口参数
二. 独立部署(StandAlone)——只使用Spark自身节点运行
1. 修改conf/slaves
2. 修改conf/spark-env.sh
提交应用:运行
bin/spark-submit
--class org.apache.spark.examples.SparkPi //待执行程序的主类
--master spark://linux:7070 //部署模式以及虚拟核数
./examples/jars/spark-examples_2.12-3.0.0.jar //主类所在的Jar包
10
启动历史服务器
1. 修改conf/spark-defaults.conf
2. 修改spark-env.sh文件
重启集群
三. 配置高可用(HA)——多个Master节点保障主Maste故障时有备用Master节点
1. 启动zookeeper
2. 修改conv/spark-env.sh
注释如下内容:
\#SPARK_MASTER_HOST=linux1
\#SPARK_MASTER_PORT=7077
添加如下内容:
\#Master监控页面默认访问端口为8080,但是可能会和Zookeeper冲突,所以改成 8989,也可以自 定义,访问UI监控页面时请注意
SPARK_MASTER_WEBUI_PORT=8989
export SPARK_DAEMON_JAVA_OPTS="
-Dspark.deploy.recoveryMode=ZOOKEEPER
-Dspark.deploy.zookeeper.url=linux1,linux2,linux3
-Dspark.deploy.zookeeper.dir=/spark"
3. 启动spark集群
linux1 中sbin/start-all.sh linux2 中sbin/start-master.sh 此时就有了两个master节点
4. 提交应用:
bin/spark-submit
--class org.apache.spark.examples.SparkPi
--master spark://linux1:7077,linux2:7077
./examples/jars/spark-examples_2.12-3.0.0.jar
10
四. YARN模式
Spark 主要是计算框架,而不是资源调度框架,所以本身提供的资源调度并不是它的强项。一般会结合Yarn框架使用
1. 修改hadoop配置文件yarn-site.xml
2. 修改conf/spark-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_144 YARN_CONF_DIR=/opt/module/hadoop/etc/hadoop
3. 提交应用
bin/spark-submit
--class org.apache.spark.examples.SparkPi
--master yarn
--deploy-mode client / cluster # 本地运行Driver与集群运行Driver./examples/jars/spark-examples_2.12-3.0.0.jar 10
总结:几种模式下的对比