配置 Spark 以 YARN 模式

以下是配置 Spark 以 YARN 模式运行的详细步骤:

环境准备

  • 安装 JDK :所有节点需安装 JDK 1.8 或以上版本,并配置环境变量,确保 JAVA_HOME 正确指向安装路径。
  • 安装 Hadoop :安装 Hadoop(推荐 3.x 版本),并配置好 YARN。在 yarn-site.xml 中启用资源调度,设置 yarn.resourcemanager.hostname 为主节点 IP 或主机名。同时,设置 HADOOP_HOMEHADOOP_CONF_DIR 环境变量。
  • 安装 Spark :下载与 Hadoop 兼容的 Spark 版本(如 Spark 3.5.5 对应 Hadoop 3.x),解压至统一目录(如 /opt/spark),并配置 SPARK_HOME 环境变量。

修改 Spark 配置文件

  • 修改 spark-env.sh :在 Spark 的 conf 目录下,重命名 spark-env.sh.templatespark-env.sh,并添加以下配置以关联 Hadoop 和 YARN:

    复制代码
    export JAVA_HOME=/opt/java/jdk8
    export HADOOP_HOME=/opt/hadoop/hadoop-3.2.2
    export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
    export SPARK_DIST_CLASSPATH=$(hadoop classpath)
  • 修改 spark-defaults.conf :在 Spark 的 conf 目录下,重命名 spark-defaults.conf.templatespark-defaults.conf,并添加以下配置:

    复制代码
    spark.master                        yarn
    spark.eventLog.enabled              true
    spark.eventLog.dir                  hdfs://master:9000/spark-logs
    spark.history.fs.logDirectory       hdfs://master:9000/spark-logs
    spark.yarn.resourcemanager.address  master:8032
    spark.yarn.historyServer.address    http://master:18080
    spark.yarn.stagingDir               hdfs://master:9000/spark-Staging

启动服务

  • 启动 Hadoop 与 YARN 服务

    • 启动 HDFS:start-dfs.sh
    • 启动 YARN:start-yarn.sh
      确认 ResourceManager 和 NodeManager 进程正常运行。
  • 启动 Spark 历史服务器 :在启动 Spark 历史服务器之前,需要在 HDFS 创建对应的目录:

    复制代码
    hdfs dfs -mkdir -p /spark-logs
    hdfs dfs -mkdir -p /spark-Staging

提交测试任务

使用 spark-submit 提交示例程序,验证集群是否正常工作。例如:

复制代码
spark-submit --class org.apache.spark.examples.SparkPi \
--master yarn \
--deploy-mode client \
$SPARK_HOME/examples/jars/spark-examples_2.12-3.5.5.jar 100

检查 YARN Web UI(默认端口 8088)中任务状态和日志输出。

相关推荐
心碎土豆块7 分钟前
MapReduce打包运行
大数据·mapreduce
元6334 小时前
Spark 缓存(Caching)
大数据·spark
麻芝汤圆5 小时前
MapReduce 入门实战:WordCount 程序
大数据·前端·javascript·ajax·spark·mapreduce
IvanCodes6 小时前
五、Hadoop集群部署:从零搭建三节点Hadoop环境(保姆级教程)
大数据·hadoop·分布式
富能量爆棚6 小时前
spark-local模式
大数据
Freedom℡7 小时前
Spark,IDEA编写Maven项目
spark
AidLux7 小时前
端侧智能重构智能监控新路径 | 2025 高通边缘智能创新应用大赛第三场公开课来袭!
大数据·人工智能
炒空心菜菜8 小时前
SparkSQL 连接 MySQL 并添加新数据:实战指南
大数据·开发语言·数据库·后端·mysql·spark
富能量爆棚8 小时前
Hadoop和Spark生态系统
大数据