设置Spark on YARN
本教程介绍如何在Hadoop上使用Yarn集群管理器设置Apache Spark并运行Spark应用程序,其中Yarn集群管理器用于将Spark示例作为client部署模式并将master作为Yarn运行。
Spark安装与设置
通过访问Spark下载页面下载Apache Spark,默认为最新版本的Spark。 如果想使用不同版本的Spark和Hadoop,请从下拉框中选择自己想要的版本。随着您的选择,列表项3上的链接也随之更改为所选版本,并提供更新后的下载链接。 点击列表项3对应的下载链接下载,如下图所示:
下载完成后,使用文件归档工具tar解压文件内容,并将文件夹重命名为spark。命令如下:
tar -xzf spark-3.4.0-bin-hadoop3.tgz mv spark-3.4.0-bin-hadoop3 spark
在.bashrc或.profile文件中添加spark环境变量。在任意文本编辑器(例如,vi编辑器)中打开文件并添加以下变量。
vi ~/.bashrc
编辑内容如下:
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop export SPARK_HOME=/home/hduser/spark export PATH=$PATH:$SPARK_HOME/bin export LD_LIBRARY_PATH=$HADOOP_HOME/lib/native:$LD_LIBRARY_PATH
现在运行下面的命令将环境变量加载到打开的会话中:
source ~/.bashrc
如果是将环境变量添加到.profile文件,那么通过注销和再次登录重新启动会话。
最后,编辑$SPARK_HOME/conf/spark-defaults.conf并设置spark.master为yarn。
spark.master yarn spark.driver.memory 512m spark.yarn.am.memory 512m spark.executor.memory 512m
这样,Spark on YARN的设置就完成了。接下来让我们试着运行Spark二进制发行版附带的样例作业。
spark-submit --deploy-mode client --master yarn --class org.apache.spark.examples.SparkPi $SPARK_HOME/examples/jars/spark-examples_2.12-3.4.0.jar 10
Spark历史服务器
历史服务器保存了用户通过spark-submit、spark-shell提交的所有Spark应用程序的日志。
可以通过在spark-defaults.conf文件中添加以下配置来启用Spark收集日志,spark-defaults.conf文件位于%SPARK_HOME%/conf目录下。编辑$SPARK_HOME/conf/spark-defaults.conf文件,添加如下属性:
spark.eventLog.enabled true spark.eventLog.dir hdfs://master:8020/spark-logs spark.history.provider org.apache.spark.deploy.history.FsHistoryProvider spark.history.fs.logDirectory hdfs://master:8020/spark-logs spark.history.fs.update.interval 10s spark.history.ui.port 18080
设置完上述属性后,通过启动以下命令启动历史服务器:
$SPARK_HOME/sbin/start-history-server.sh
默认情况下,历史服务器监听18080端口,可以使用http://localhost:18080/从浏览器访问它。
通过点击每个App ID,将在Spark web UI中获得应用程序的详细信息。
课程章节 返回课程首页
-
Ch01 Spark架构与集群搭建
-
Ch02 开发和部署Spark程序
-
Ch03 Spark核心编程
-
Ch04 Spark SQL编程
-
Ch05 Spark SQL编程(高级)
-
Ch06 Spark Streaming流处理
-
Ch07 Spark结构化流处理
-
ch08 Spark结构化流(高级)
-
综合项目实训