部署spark为分布式集群(on standload)
实验简介
通过本实验,了解spark框架,掌握配置Spark集群大体步骤
任务要求
1、安装JDK
2、配置ssh密码登陆
3、部署spark 集群,启动spark-shell
4、启动spark开发环境jupyter notebook
实验环境
本地机器
操作系统:ubuntu20
Spark version : 3.0.3
JDK version:1.8.0_301
Anaconda3 ( python3.8 )
步骤一:了解spark框架
Apache Spark 是用于大规模数据处理的统一分析引擎。它提供了 Java、Scala、Python 和 R 中的高级 API,以及支持通用执行图的优化引擎。它还支持一组丰富的更高级别的工具,包括Spark SQL用于SQL和结构化数据的处理,MLlib机器学习,GraphX用于图形处理,以及结构化流的增量计算和流处理。
Spark 在 Java 8/11、Scala 2.12、Python 2.7+/3.4+ 和 R 3.5+ 上运行。从 Spark 3.0.0 开始,不推荐使用 8u92 版本之前的 Java 8 支持。从 Spark 3.0.0 开始,不推荐使用 3.6 版之前的 Python 2 和 Python 3。对于 Scala API,Spark 3.0.3 使用 Scala 2.12。您将需要使用兼容的 Scala 版本 (2.12.x)。
步骤二:安装JDK
以下步骤路径都是使用相对路径,spark和Hadoop是基于Java语言,所以在安装Spark之前需要先配置Java环境。
1、解压安装包打开终端,输入命令(安装包路径使用相对路径)
tar -zxvf jdk-8u301-linux-x64.tar.gz
2、重新命名jdk1.8.0_301文件夹(命名为java)
mv jdk1.8.0_301 java
3、迁移文件夹到/usr/local/src路径下
mv java /usr/local/src
4、配置环境变量,使用vim打开.bashrc文件
sudo vim ~/.bashrc
#按i键进入编辑模式在该文件最后加入以下内容:
export JAVA_HOME=/usr/local/src/java
export PATH=$PATH:$JAVA_HOME/bin
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
按Esc键,再输入:wq退出保存
5、使用命令使环境变量生效
source ~/.bashrc
6、检验是否安装成功,输入java -version如图所示:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7bynWokT-1665204722362)(<image/2022-01-18 12-22-45 的屏幕截图_0cIaXaOo0v.png>)]
恭喜!
步骤三:安装anaconda
1、使用命令行安装anaconda
bash Anaconda3-2020.11-Linux-x86_64.sh
#回车后输入yes,然后一直回车
2、配置环境变量,使用vim打开.bashrc文件
sudo vim ~/.bashrc
#按i键进入编辑模式在该文件最后加入以下内容:
export ANACONDA_HOME=/home/cyl/anaconda3
export PATH=$PATH:$ANACONDA_HOME/bin
按Esc键,再输入:wq退出保存
3、使用命令使环境变量生效
source ~/.bashrc
步骤四:安装spark
1、解压spark安装包到指定路径下(/usr/local/src)
sudo tar -zxvf spark-3.0.3-bin-hadoop3.2.tgz -C /usr/local/src/
2、进入/usr/local/src路径下修改spark安装包名
cd /usr/local/src/
sudo mv spark-3.0.3-bin-hadoop3.2/ spark
3、配置环境变量,使用vim打开.bashrc文件
sudo vim ~/.bashrc
#按i键进入编辑模式在该文件最后加入以下内容:
export SPARK_HOME=/usr/local/src/spark
export PATH=$PATH:$SPARK_HOME/bin
export PYSPARK_PYTHON=/home/cyl/anaconda3/bin/python3.8
export PYTHONPATH=$SPARK_HOME/python:$SPARK_HOME/python/lib/py4j-0.10.9-src.zip:$PYTHONPATH
按Esc键,再输入:wq退出保存
4、使用命令使环境变量生效
source ~/.bashrc
5、检验是否安装成功,输入pyspark —version如图所示:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CuwXirG5-1665204722364)(<image/2022-01-18 17-38-27 的屏幕截图_zPrFfMZQyy.png>)]
步骤五:配置SSH免密码登陆
1、打开终端输入命令下载ssh服务
sudo apt install ssh
2、打开终端输入命令下载rsync
sudo apt install rsync
3、使用ssh生成密钥文件
ssh-keygen -t rsa -P ''
#一直回车即可
4、将密钥文件的内容添加到authorized_keys文件
cat ~/.ssh/id_rsa.pub>>~/.ssh/authorized_keys
5、使用ssh免密码登陆本机
在终端输入ssh master
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-f2n3tQLv-1665204722365)(<image/2022-01-18 20-32-29 的屏幕截图_huX4gTbwUG.png>)]
步骤六:修改saprk配置文件,启动spark集群
1、复制spark-env.sh模板文件
#进入./spark/conf路径下
cd /usr/local/src/spark/conf
#复制文件
cp spark-env.sh.template spark-env.sh
2、使用vim编辑spark-env.sh文件
#终端输入
sudo vim spark-env.sh
#按i键进入编辑模式在该文件最后加入以下内容:
export JAVA_HOME=/usr/local/src/java
export SPARK_MASTER_IP=master
#master主机名
export SPARK_WORKER_MEMORY=1G
export SPARK_WORKER_CORES=2
export SPARK_WORKER_INSTANCES=2
按Esc键,再输入:wq退出保存
3、复制slaves模板文件
#进入./spark/conf路径下
cd /usr/local/src/spark/conf
#复制文件
cp slaves.template slaves
4、使用vim编辑slaves文件
按i键进入编辑模式在该文件最后,将localhost删除更换为master(主机名):
按Esc键,再输入:wq退出保存
5、进入/usr/local/src/spark/sbin路径下,使用start-all.sh启动spark集群
cd /usr/local/src/spark/sbin
./start-all.sh
6、终端输入jps查看进程
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pIkmhdln-1665204722366)(<image/2022-01-18 21-13-07 的屏幕截图_WYk90DuVX7.png>)]
7、在终端输入spark-shell启动spark 交互式编程环境(scala)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1ieYXVPa-1665204722367)(<image/2022-01-18 22-55-25 的屏幕截图_I3JW8PVcNF.png>)]
步骤七:启动spark开发环境jupyter notebook
1、使用vim编辑~/.bashrc文件,配置环境变量
sudo vim ~/.bashrc
#按i键进入编辑模式,在下面编辑以下内容:
export PYSPARK_DRIVER_PYTHON=$ANACONDA_HOME/bin/ipython3
export PYSPARK_DRIVER_PYTHON_OPTS="notebook"
按Esc键,再输入:wq退出保存
2、使用命令使环境变量生效
source ~/.bashrc
3、进入指定路径,在终端输入:pyspark启动spark开发环境
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HXC2VZOI-1665204722368)(<image/2022-01-18 23-09-51 的屏幕截图_F6-Aemb55z.png>)]