配置 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)中任务状态和日志输出。

相关推荐
Elastic 中国社区官方博客5 小时前
Elastic 9.1/8.19:默认启用 BBQ,ES|QL 支持跨集群搜索(CCS)正式版,JOINS 正式版,集成 Azure AI Foundry
大数据·elasticsearch·搜索引擎·全文检索·azure·elastic
哈__5 小时前
PromptPilot搭配Doubao-seed-1.6:定制你需要的AI提示prompt
大数据·人工智能·promptpilot
鸿乃江边鸟6 小时前
Starrocks中的 Query Profile以及explain analyze及trace命令中的区别
大数据·starrocks·sql
SamtecChina20238 小时前
应用科普 | 漫谈6G通信的未来
大数据·网络·人工智能·科技
lingling00910 小时前
光伏清洗机器人是什么?艾利特协作机器人如何重塑新能源运维效率
大数据·运维·人工智能
2501_9247319911 小时前
智慧能源场景设备缺陷漏检率↓76%:陌讯多模态融合检测方案实战解析
大数据·人工智能·算法·目标检测·计算机视觉·视觉检测
黄雪超16 小时前
Kafka——怎么重设消费者组位移?
大数据·分布式·kafka
不辉放弃16 小时前
pyspark中的kafka的读和写案例操作
大数据·数据库·pyspark·大数据开发
华科云商xiao徐17 小时前
Nim开发高性能低成本爬虫的完整教程
大数据·爬虫·数据挖掘