【Spark】1、安装与介绍

本文详细介绍Spark集群的搭建步骤,包括Scala与Spark的安装配置,以及如何在Python环境中使用Spark进行数据处理。涵盖从单机到分布式环境的配置,以及PySpark的基本使用方法。

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

Spark

Spark是一种开源集群运算框架,由加州大学伯克利分校的AMPLab开发。Spark是一个弹性运算框架,适合进行Spark Streaming数据流处理、Spark SQL互动分析、MLlib机器学习等应用。Spark允许用户将数据加载到cluster集群的内存中存储,并多次重复计算,非常适用于机器学习的算法。
Spark是用Scala开发的,并支持多种语言
注:本博客系列将用Python和Hadoop结合Spark进行开发,并不是纯Spark,由于作者能力有限,纯Spark将在学完所有内容再进行深入学习。

RDD
弹性分布式数据集,能与其他系统兼容,可以导入外部存储系统的数据集,如HDFS、HBase或其他Hadoop数据源。
在这里插入图片描述
Spark在内存中进行计算,所以速度极快。

spark的cluster模式架构图
在这里插入图片描述
DriverProgram是我们写的Spark的应用程序,每个程序都必须定义SparkContext,作为程序入口,它通过Cluster Manager管理整个集群,集群中包含多个Worker Node,每个Worker Node都有一Executor负责执行任务。
Cluster Manager可以在不同的Cluster模式上运行
在这里插入图片描述
在这里插入图片描述

Scala的安装

要用Spark必须先装Scala,下载网址:
https://www.scala-lang.org/files/archive/
Spark2.0需要配合2.11版本,这里我是用这个版本
https://www.scala-lang.org/files/archive/scala-2.11.12.tgz

1、在master(已经搭建好的Hadoop集群中的boss)机器上下载

wget https://www.scala-lang.org/files/archive/scala-2.11.12.tgz
如果慢就
wget http://downloads.typesafe.com/scala/2.11.12/scala-2.11.12.tgz

2、解压

tar xvf scala-2.11.12.tgz

3、配置

移动到/usr/local/scala下

mv scala-2.11.12 /usr/local/scala

配置环境变量(和Hadoop一样,我选择全局的/etc/profile

#scala
export SCALA_HOME=/usr/local/scala
export PATH=$PATH:$SCALA_HOME/bin

使它生效

source /etc/profile

检查是否成功

scala

在这里插入图片描述

Spark安装

网址
http://spark.apache.org/downloads.html

1、下载

必须按照hadoop版本选择
查看版本
在这里插入图片描述
下载网址
http://mirrors.tuna.tsinghua.edu.cn/apache/spark/spark-2.4.3/spark-2.4.3-bin-hadoop2.7.tgz

wget http://mirrors.tuna.tsinghua.edu.cn/apache/spark/spark-2.4.3/spark-2.4.3-bin-hadoop2.7.tgz 

2、解压

tar zxf spark-2.4.3-bin-hadoop2.7.tgz

3、配置

移动到/usr/local/spark
mv spark-2.4.3-bin-hadoop2.7 /usr/local/spark
配置环境变量
#spark
export SPARK_HOME=/usr/local/spark
export PATH=$PATH:$SPARK_HOME/bin
生效
启动pyspark

如果遇见name ‘memoryview’ is not defined错误
就升级python版本
安装过程链接
为了方便我这里用以下方法安装3.4

安装最新版本的EPEL
sudo yum install epel-release
用yum安装python 3.4:

sudo yum install python34
注意:上面的安装方法并未安装pip和setuptools,如果你要安装这两个库可以使用下面的命令:

curl -O https://bootstrap.pypa.io/get-pip.py

sudo /usr/bin/python3.4 get-pip.py

或者参考下面的这个链接安装pip3(如果网速不行就用这个)
pip3安装链接

回到master服务器启用pyspark

在这里插入图片描述

本地运行pyspark程序

pyspark --master local[4]

其中local[4]代表本地使用4个线程,用*使本机尽量运行多个线程
查看当前运行模式

sc.master

读取本地文件

textFile = sc.textFile("file:/usr/local/spark/README.md")

读取HDFS文件

textFile = sc.textFile("hdfs://master:9000/user/alex/wordcount/input/LICENSE.txt")

在这里插入图片描述

在YARN运行pyspark

HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop pyspark --master yarn --deploy-mode client

构建Spark Standalone Cluster运行环境

1、设置spark-env.sh文件

cp /usr/local/spark/conf/spark-env.sh.template /usr/local/spark/conf/spark-env.sh
vim /usr/local/spark/conf/spark-env.sh

添加以下代码

export SPARK_MASTER_IP=master
export SPARK_WORKER_CORES=1
export SPARK_WORKER_MEMORY=300m
export SPARK_WORKER_INSTANCES=2

2、复制spark到slave1、slave2

ssh slave1
mkdir /usr/local/spark
chown hduser:hduser /usr/local/spark
exit
scp -r /usr/local/spark hduser@slave1: /usr/local

对slave2做一样的操作

3、编辑slaves文件

vim /usr/local/spark/conf/slaves

添加

slave1
slave2

4、运行

/usr/local/spark/sbin/start-all.sh
pyspark --master spark://master:7077

注意:因为cluster模式会分布在其他机器,其他机器要确保有相同文件,所以最好读取HDFS文件

5、web界面
在浏览器浏览master:8080
在这里插入图片描述
6、关闭运行

/usr/local/spark/sbin/stop-all.sh
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值