如何搭建spark yarn模式的集合集群
一、环境准备
在搭建 Spark on YARN 集群之前,需要确保以下环境已经准备就绪:
-
操作系统:推荐使用 CentOS、Ubuntu 等 Linux 发行版。
-
Java 环境:确保安装了 JDK 1.8 或更高版本。
-
Hadoop 集群:已经搭建并运行的 Hadoop 集群,包括 HDFS 和 YARN。
二、安装 Spark
-
下载 Spark
从 Apache Spark 官方网站下载适合您 Hadoop 版本的 Spark 安装包。例如,如果您使用的是 Hadoop 3.2,可以下载spark-3.1.2-bin-hadoop3.2.tgz
。 -
解压并安装
将下载的 Spark 安装包解压到指定目录,并创建符号链接以便管理。cd /opt/modules/ tar -zxf spark-3.1.2-bin-hadoop3.2.tgz -C /opt/installs cd /opt/installs mv spark-3.1.2-bin-hadoop3.2 spark-yarn ln -s /opt/installs/spark-yarn /opt/installs/spark
三、配置 Spark
-
修改
spark-env.sh
配置文件。
在 Spark 的conf
目录中,将spark-env.sh.template
文件重命名为spark-env.sh
,并编辑该文件。cd /opt/installs/spark/conf mv spark-env.sh.template spark-env.sh vim spark-env.sh
在文件中添加以下内容:
export JAVA_HOME=/opt/installs/jdk export HADOOP_CONF_DIR=/opt/installs/hadoop/etc/hadoop export YARN_CONF_DIR=/opt/installs/hadoop/etc/hadoop export SPARK_DAEMON_MEMORY=1g export SPARK_HISTORY_OPTS="-Dspark.history.fs.logDirectory=hdfs://bigdata01:9820/spark/eventLogs/ -Dspark.history.fs.cleaner.enabled=true"
-
修改
spark-defaults.conf
文件。
将spark-defaults.conf.template
文件重命名为spark-defaults.conf
,并编辑该文件:mv spark-defaults.conf.template spark-defaults.conf vim spark-defaults.conf
添加以下内容:
spark.eventLog.enabled true spark.eventLog.dir hdfs://bigdata01:9820/spark/eventLogs spark.eventLog.compress true spark.yarn.historyServer.address bigdata01:18080 spark.yarn.jars hdfs://bigdata01:9820/spark/jars/*
-
修改 YARN 配置文件
编辑 Hadoop 的yarn-site.xml
文件,确保以下配置项正确:<property><name>yarn.log-aggregation-enable</name><value>true</value> </property> <property><name>yarn.log-aggregation.retain-seconds</name><value>604800</value> </property> <property><name>yarn.log.server.url</name><value>http://bigdata01:19888/jobhistory/logs</value> </property> <property><name>yarn.nodemanager.pmem-check-enabled</name><value>false</value> </property> <property><name>yarn.nodemanager.vmem-check-enabled</name><value>false</value> </property>
-
分发配置文件
使用工具(如xsync.sh
)将配置文件同步到所有集群节点:xsync.sh /opt/installs/spark xsync.sh /opt/installs/hadoop/etc/hadoop/yarn-site.xml
四、启动集群
-
启动 Hadoop 集群
确保 HDFS 和 YARN 服务已经启动:start-dfs.sh start-yarn.sh
-
启动 Spark History Server
启动 Spark 的历史服务器:/opt/installs/spark/sbin/start-history-server.sh
五、测试集群
-
提交测试作业
使用spark-submit
提交一个简单的 Spark 作业:spark-submit --master yarn --deploy-mode cluster examples/src/main/python/pi.py 1000
-
查看作业运行情况
在 YARN 的 Web UI 页面(通常是http://master:8088
)中查看作业的运行情况