在 Yarn 上 安装 Spark 0.9.0

本文详细记录了如何在Yarn集群上搭建Spark0.9.0,并通过本地模式和Yarn模式进行测试的过程。

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

今天在自己的Yarn cluster 上搭建了Spark 0.9.0,这里粗要地记录一下主要步骤。 详细的步骤主要参照了以下两篇blog,在此对两位作者表示感谢!

-Apache Spark学习:将Spark部署到Hadoop 2.2.0上: http://dongxicheng.org/framework-on-yarn/build-spark-on-hadoop-2-yarn/

-spark0.9分布式安装:http://blog.youkuaiyun.com/myboyliu2007/article/details/18990277


1、下载Spark 0.9.0 binary: http://mirror.bit.edu.cn/apache/incubator/spark/spark-0.9.0-incubating/spark-0.9.0-incubating-bin-hadoop2.tgz

下载后可以直接使用,省去了编译等过程。另外,该版本可以直接运行在Yarn上


2、下载 Scala 2.10.3://www.scala-lang.org/files/archive/scala-2.10.3.tgz

下载后需要在所有node上面解压Scala,然后将SCALA_HOME加入PATH

export SCALA_HOME=/opt/scala-2.10.3
export PATH=$PATH:$SCALA_HOME/bin


3、在Spark master 上安装配置Spark(参考spark0.9分布式安装)


4、在其它Spark worker上面安装配置Spark:

把Spark master 上安装配置好的Spark文件夹copy到每一个Spark worker上,然后配置必要的环境变量


5、从Master节点上启动Spark cluster:

$ ./sbin/start-all.sh


6、通过网页查看Spark cluster状态(http默认端口为8080):



7、测试一(本地模式)

命令: ./bin/run-example org.apache.spark.examples.SparkPi local

运行结果(部分截图):


8、测试二(运行在Yarn上)

执行脚本:

#! /bin/bash
export YARN_CONF_DIR=/opt/hadoop-2.2.0/etc/hadoop
export SPARK_JAR=./assembly/target/scala-2.10/spark-assembly_2.10-0.9.0-incubating-hadoop2.2.0.jar \

bin/spark-class org.apache.spark.deploy.yarn.Client \
--jar examples/target/scala-2.10/spark-examples_2.10-assembly-0.9.0-incubating.jar \
--class org.apache.spark.examples.SparkPi \
--args yarn-standalone \
--num-workers 3 \
--master-memory 385m \
--worker-memory 385m \
--worker-cores 1

运行结果(从Yarn的web GUI上面可以看到job的output):





<think>好的,用户想了解如何在YARN节点上配置和安装Spark。我需要先回顾一下相关的知识,确保回答准确。首先,Spark on YARN安装通常需要先确保Hadoop YARN已经正确安装,因为Spark会利用YARN作为资源管理器。然后,用户需要在Spark配置文件中设置YARN相关的参数,比如master设置为yarn,以及配置必要的环境变量。 接下来,用户的问题中提到需要引用提供的三个引用内容。引用1提到启动Spark SQL CLI的命令,可能在配置完成后需要验证安装时用到。引用2提到了设置Spark参数,比如executor的核心数、实例数和内存,这些在配置Spark on YARN时非常重要,需要包含在spark-defaults.conf或通过spark-submit的参数传递。引用3讨论了单节点安装Hadoop,这可能是在配置集群前的测试步骤,所以需要提醒用户如果只是测试,单节点足够,但生产环境需要集群配置。 然后,我需要确保回答结构清晰,分步骤说明。可能需要分为环境准备、Spark配置、参数调优和验证步骤。同时,要引用提供的引用内容,自然地插入到相关部分,比如在配置参数时提到引用2的设置,在验证时提到引用1的Spark SQL CLI命令。 还要注意使用中文,符合LaTeX格式要求,行内公式用$...$,独立公式用$$...$$,不过这个问题可能涉及代码和配置,LaTeX公式可能较少。需要检查是否有数学表达式需要正确格式化。 最后,生成相关问题,可能涉及优化配置、性能调优、常见错误处理等,确保问题与用户查询相关,并帮助其深入理解。 现在组织回答内容,确保每个步骤清晰,引用正确,并涵盖所有必要的信息。</think>### 如何在YARN节点上配置和安装Spark #### 1. 环境准备 - **Hadoop YARN安装** 需先完成Hadoop集群的部署,并确保YARN正常运行。单节点测试可参考Hadoop单节点安装指南[^3]。 - **Spark安装包** 下载与Hadoop版本兼容的Spark预编译包(如`spark-3.x.x-bin-hadoop3.tgz`),解压到所有YARN节点的相同路径下。 #### 2. Spark配置 - **核心配置文件** 在`$SPARK_HOME/conf/spark-defaults.conf`中添加以下参数: ```properties spark.master yarn spark.driver.memory 4g spark.executor.memory 8g ``` - **YARN资源分配** 根据集群资源设置Executor参数,例如: ```properties spark.executor.cores=4 # 每个Executor的CPU核心数[^2] spark.executor.instances=10 # 初始Executor数量 ``` - **环境变量配置** 在`$SPARK_HOME/conf/spark-env.sh`中设置Hadoop配置路径: ```bash export HADOOP_CONF_DIR=/path/to/hadoop/etc/hadoop ``` #### 3. 验证安装 - **提交测试任务** 运行Spark Pi示例验证YARN集成: ```bash ./bin/spark-submit --class org.apache.spark.examples.SparkPi \ --master yarn \ examples/jars/spark-examples_*.jar 100 ``` - **访问Spark SQL CLI** 通过`./bin/spark-sql`启动CLI并执行SQL验证功能[^1]。 #### 4. 参数调优建议 - 动态资源分配:启用`spark.dynamicAllocation.enabled=true`提高资源利用率 - 网络超时设置:增加`spark.network.timeout=300s`避免心跳超时 $$ \text{集群总内存} = \text{spark.executor.memory} \times \text{spark.executor.instances} + \text{spark.driver.memory} $$
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值