资讯详情

Hadoop3.x入门-Spark3.x部署

1.前言

Spark集群模式包括:Local,Standalong,Yarn,Kubernetes,但在生产环境中Spark On Yarn是主流。Spark提供计算服务,Yarn提供资源调度能力,HDFS提供存储。

本文介绍了如何部署Spark3.1.3 On Yarn,在这种模式下,Spark没有集群的概念,而是作为客户端组件Yarn提交自定义Jar包程序任务,只需要将Spark配置并部署相关配置hadoop在集群中的任何节点上。

本文的Spark对接的是Yarn HA高可用集群,Yarn高可用部署《Hadoop3.x入门-搭建3节点Hadoop HA集群_-小末的博客-CSDN博客_hadoop3 ha搭建》

2.前置条件

JDK1.8,一个Hadoop集群。

3.Spark on Yarn 提交jar简单的包任务流程

Cluster模式:

而Client模式会将driver在提交任务的客户端启动SparkSubmit因为Driver会和Executor有数据交互,Client在模式下,用户本机网卡流量激增,用户本机内存增加OOM谨慎使用生产环境等问题。

4.On Yarn 部署

4.1下载Spark3.1.3 bin包

下载地址:Downloads | Apache Spark

下载完成后,上传到任何一个Hadoop节点服务器中,本文解压到hd1.dev.loval节点的/opt/module目录下。

4.修改配置文件

4.2.1yarn-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>

将配置分发到所有节点并重启hdfs和yarn集群。

4.2.2spark-env.sh

cd conf/ mv spark-env.sh.template spark-env.sh vim spark-env.sh  #设置jdk路径 export JAVA_HOME=/opt/module/jdk1.8.0_311 #配置yarn配置文件位置,spark默认读取yarn-site.xml等配置,获取yarn信息,向yarn提交任务 export YARN_CONF_DIR=opt/module/hadoop-3.3.2/etc/hadoop export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

4.3配置Spark历史服务

4.3.1创建存储日志hdfs路径

hdfs dfs -mkdir /directory 

4.3.修改配置文件

注意对接的hadoop ha集群,非ha需要指明hdfs默认为8020端口

mv spark-defaults.conf.template spark-defaults.conf  vim spark-defaults.conf  #添加以下内容 spark.eventLog.enabled          true spark.eventLog.dir               hdfs://hacluster/directory spark.yarn.historyServer.address=hd1.dev.local:18080 spark.history.ui.port=18080
vim spark-env.sh  #history ui存放历史日志的路径,保存提交Application历史记录的数量 #注意对接HDFS HA集群 export SPARK_HISTORY_OPTS="-Dspark.history.ui.port=18080 -Dspark.history.fs.logDirectory=hdfs://hacluster/directory -Dspark.history.retainedApplications=30"

4.3.3.启动历史服务流程

sbin/start-history-server.sh

检查启动是否成功:

netstat -nltp|grep 18080

如果存在,则表示启动成功

4.4提交spark任务测试集群的可用性

提交一个client模式的计算PI的任务:

bin/spark-submit \ --class org.apache.spark.examples.SparkPi \ --master yarn \ --deploy-mode client \ ./examples/jars/spark-examples_2.12-3.1.3.jar \ 5

查看Yarn页面:

查看Spark JobHistory页面:

至此Spark on Yarn一个简单demo测试完毕。

标签: 流量传感器hd1ko

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台