spark.yarn.archive spark.yarn.jars 的设置

Spark在YARN上运行时,设置spark.yarn.archive和spark.yarn.jars可以避免每次运行时上传jar到YARN节点,提升性能。这些配置通常用于指定HDFS上的位置,以便任务可以从共享存储中读取,而不是从本地缓存。不过,当HDFS数据副本不足时,可能会影响任务分配。正确配置如:'hdfs://namenode:port/path_to_archive',注意URL末尾的正斜杠。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为什么要设置呢?摘自Spark-2.3.0官方文档 http://spark.apache.org/docs/latest/running-on-yarn.html#preparations

(个人理解:spark运行所需的jar包,不设置的话每次运行就需要上传到yarn管理的各个节点的缓存,很麻烦很影响性能。如果设置了,比如说放在HDFS上,就不需要每次都上传而是从HDFS上读取,能快那么一点点……)

(但是呢,HDFS上如果只设置保存三份数据,而如果需要20个节点来运行spark任务,会怎么样呢……)

Preparations

Running Spark on YARN requires a binary distribution of Spark which is built with YARN support. Binary distributions can be downloaded from the 

### 如何在YARN上配置和安装Apache Spark #### 配置环境变量 为了使Spark能够在YARN上运行,需设置一些必要的环境变量。通常情况下,在`conf/spark-env.sh`文件中定义这些变量。确保设置了`HADOOP_CONF_DIR`指向Hadoop配置目录,以便Spark能够找到YARN的配置。 ```bash export HADOOP_CONF_DIR=/etc/hadoop/conf ``` #### 安装依赖项 确认已安装Java、Scala以及Hadoop,并且版本兼容。对于特定的操作系统发行版,可能还需要额外的库支持[^5]。 #### 下载并解压Spark包 前往官方下载页面获取适用于集群部署的预编译二进制分发版[^1]: ```bash wget https://downloads.apache.org/spark/spark-3.x.x/spark-3.x.x-bin-hadoop2.7.tgz tar -xzf spark-3.x.x-bin-hadoop2.7.tgz cd spark-3.x.x-bin-hadoop2.7/ ``` #### 修改默认配置 编辑`conf/spark-defaults.conf.template`文件(复制一份作为实际使用的配置),添加或修改以下参数以适应YARN需求: ```properties spark.master yarn spark.submit.deployMode cluster spark.yarn.am.memory 512m spark.executor.instances 2 spark.executor.cores 1 spark.executor.memory 1g ``` 当既未指定`spark.yarn.archive`也未指定`spark.yarn.jars`时,Spark会自动创建一个包含所有JAR文件的ZIP压缩包,并上传至分布式缓存中用于执行任务[^4]。 #### 提交测试应用程序 验证配置是否成功的一种方法是通过提交内置的例子程序计算π值来检验整个流程是否正常工作。使用如下命令启动该应用[^2]: ```bash spark-submit \ --master yarn \ --deploy-mode cluster \ --class org.apache.spark.examples.SparkPi \ ${SPARK_HOME}/examples/jars/spark-examples_2.12-3.x.x.jar ``` 注意这里假设已经正确设置了`${SPARK_HOME}`环境变量指向刚才解压后的路径;同时也要保证所选例子JAR包与当前系统的Scala版本相匹配。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值