Spark Yarn模式
独立部署(Standalone)模式由 Spark 自身提供计算资源,无需其他框架提供资源。这种方式降低了和其他第三方资源框架的耦合性,独立性非常强。但是Spark 主要是计算框架,而不是资源调度框架,所以本身提供的资源调度并不是它的强项,所以还是和其他专业的资源调度框架集成会更靠谱一些。
在国内工作中Spark大多数工作在Yarn 环境下,Yarn 使用的非常多。
1.下载Spark 3.5.0
https://spark.apache.org/downloads.html
2.安装JDK
3.安装Hadoop
4.解压
mkdir /usr/spark
tar -zxvf spark-3.5.0-bin-hadoop3.tgz -C /usr/spark/
5.配置
1.修改Hadoop Yarn配置文件yarn-site.xml
vi /usr/hadoop/hadoop-3.3.6/etc/hadoop/yarn-site.xml
<!--是否启动一个线程检查每个任务正使用的物理内存量,如果任务超出分配值,则直接将其杀掉,默认是 true -->
<property>
<name>yarn.nodemanager.pmem-check-enabled</name>
<value>false</value>
</property>
<!--是否启动一个线程检查每个任务正使用的虚拟内存量,如果任务超出分配值,则直接将其杀掉,默认是 true -->
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
2.Spark修改conf/spark-env.sh
,添加JAVA_HOME
和YARN_CONF_DIR
配置
export JAVA_HOME=/usr/java/jdk8u392-b08
YARN_CONF_DIR=/usr/hadoop/hadoop-3.3.6/etc/hadoop
# Master 监控页面默认访问端口为 8080,可能会和 Zookeeper 冲突,所以改成 8989,也可以自定义,访问 UI 监控页面时请注意
SPARK_MASTER_WEBUI_PORT=8989
3.为所有Hadoop和Spark节点同步配置[略]
6.重新启动Hadoop和Spark[略]
7.跑一个内置的测试任务
bin/spark-submit --class org.apache.spark.examples.SparkPi --master yarn --deploy-mode cluster ./examples/jars/spark-examples_2.12-3.5.0.jar 10