1. 环境准备
确保你已经安装并配置好了 Hadoop YARN 集群,同时安装了 Spark。Hadoop 和 Spark 的版本要相互兼容。

2. 配置 spark-env.sh
spark-env.sh 文件位于 Spark 的 conf 目录下。如果该文件不存在,可以复制 spark-env.sh.template 来创建。

bash

cp conf/spark-env.sh.template conf/spark-env.sh
然后编辑 spark-env.sh,添加如下配置:

bash

# 设置 Hadoop 配置目录
export HADOOP_CONF_DIR=/path/to/hadoop/conf
# 设置 YARN 配置目录
export YARN_CONF_DIR=/path/to/hadoop/conf
要把 /path/to/hadoop/conf 替换成你实际的 Hadoop 配置目录。

3. 配置 spark-defaults.conf
在 Spark 的 conf 目录下,若 spark-defaults.conf 文件不存在,可复制 spark-defaults.conf.template 来创建。

bash

cp conf/spark-defaults.conf.template conf/spark-defaults.conf
接着编辑 spark-defaults.conf,添加以下内容:

plaintext

# 设置 Spark 运行模式为 YARN
spark.master                     yarn
# 设置部署模式,可以是 client 或 cluster
spark.submit.deployMode          client
spark.submit.deployMode 有两种可选模式:

client:Driver 进程在客户端机器上运行。
cluster:Driver 进程在 YARN 集群内的某个节点上运行。
4. 配置 YARN
在 Hadoop 的 yarn-site.xml 中添加以下配置,以允许 YARN 调度 Spark 应用:

xml

<property>
    <name>yarn.nodemanager.vmem-check-enabled</name>
    <value>false</value>
    <description>关闭虚拟内存检查,避免因虚拟内存限制导致 Spark 任务失败</description>
</property>
5. 测试配置
使用以下命令运行一个简单的 Spark 示例应用来测试配置是否正确:

bash

./bin/spark-submit \
  --class org.apache.spark.examples.SparkPi \
  --master yarn \
  --deploy-mode client \
  ./examples/jars/spark-examples_*.jar \
  10
要是配置无误,这个示例应用会在 YARN 集群上运行并输出计算结果。

注意事项
要保证 Spark 和 Hadoop YARN 集群的网络是连通的。
依据集群资源状况,合理调整 Spark 应用的资源参数,像 spark.driver.memory、spark.executor.memory 等。
通过以上步骤,你就能在 Spark 中成功配置 YARN 并运行 Spark 应用了。
————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
                        
原文链接:https://blog.csdn.net/H_L_4513196/article/details/147752310

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐