spark2.4 on yarn安装

本文详细介绍了如何在Linux环境下安装配置Scala 2.11和Spark,包括环境变量设置、依赖软件安装、配置文件编辑等步骤,特别指出Java版本需求及常见问题解决方法。

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

一、安装scala2.11

注意官网的这句话:Note: Starting version 2.0, Spark is built with Scala 2.11 by default. Scala 2.10 users should download the Spark source package and build with Scala 2.10 support.

也就是说spark2.0之后只支持scala2.11,如果使用2.10需要使用spark源码自行编译。

另外,官网要求java1.8,我的是1.7版本,安装了就悲剧了,重新换java。

关于java这块,还要强调一下,Linux自带的openJDK要先删除再安装,不然可能各种报错还找不到原因。

1.下载

wget --no-check-certificate https://downloads.lightbend.com/scala/2.11.4/scala-2.11.4.tgz

2.解压

tar -xvzf scala-2.11.4.tgz

3.添加环境变量

vim ~/.bashrc

添加 export SCALA_HOME=/usr/local/src/scala

 source ~/.bashrc

4.测试

输入scala -version

二、安装spark

1.下载解压添加环境变量(过程同上,略)

2.配置conf

cp spark-env.sh.template spark-env.sh

vim spark-env.sh

末尾添加

export JAVA_HOME=/usr/local/src/jdk1.7.0_80   #Java环境变量
export SCALA_HOME=/usr/local/src/scala #SCALA环境变量
export SPARK_WORKING_MEMORY=1g  #每一个worker节点上可用的最大内存
export SPARK_MASTER_IP=master   #驱动器节点IP
export HADOOP_HOME=/usr/local/src/hadoop-2.6.1  #Hadoop路径
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop #Hadoop配置目录
export SPARK_CLASSPATH=/usr/local/src/spark/libext #把MySQL驱动jar包放里面
export SPARK_WORKER_CORES=2             #每个节点多少核
export SPARK_WORKER_INSTANCES=1                   #每台机器上开启的worker节点的数目

cp slaves.template slaves

把localhost注释掉,末尾添加

slave1
slave2

3.验证

输入spark-shell

把spark发送到另外两台机器,修改环境配置,上网页版看看

### Hadoop 2.7 和 Spark 2.4 的差异与兼容性 #### 兼容性 Spark 可以很好地与 Hadoop 集成,支持所有由 Hadoop 支持的数据源和文件格式。因此,在数据类型和支持的数据源方面,可以说 Spark 2.4 与 Hadoop 2.7 是相似的[^1]。 #### 架构区别 Hadoop 主要依赖于 MapReduce 这一编程模型来处理大规模数据集。MapReduce 将任务分为两个阶段:映射(map)和化简(reduce)。而 Spark 则采用了更先进的计算模式——弹性分布式数据集(RDD),这使得 Spark 能够执行更为复杂的数据操作,并提供内存中的快速迭代运算能力。 #### 性能对比 由于 Spark 使用了 RDD 技术并尽可能多地利用内存来进行数据处理,通常情况下其性能优于传统的基于磁盘读写的 Hadoop MapReduce 模型。对于某些特定类型的作业来说,这种优势尤为明显,比如机器学习算法训练等需要频繁访问相同数据的任务。 #### 编程接口 相比于 Hadoop 提供的基础 Java API 或 Pig/Hive 等高级抽象工具,Spark 不仅提供了 Scala、Python 和 R 多种语言的支持,还拥有更加简洁易用的 DataFrame/Dataset 接口以及 MLlib 库用于构建复杂的分析应用和服务。 ```python from pyspark.sql import SparkSession spark = SparkSession.builder.appName('example').getOrCreate() df = spark.read.csv('/path/to/csv', header=True, inferSchema=True) # Perform operations on df using PySpark's DataFrame API ``` #### 生态系统集成度 尽管两者都能与其他大数据组件良好协作,但在生态系统层面,Spark 显示出了更高的灵活性。除了能够直接运行在 YARN 上作为资源管理器外,还可以轻松对接 Kafka 流处理平台、Alluxio 存储层加速框架等多个第三方服务;相比之下,虽然 Hadoop 同样具备丰富的周边生态链,但往往涉及到更多配置调整工作才能实现最佳效果。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值