一、前期准备
1.Spark各版本下载地址:Index of /dist/spark
2.安装Hadoop(伪分布式):hadoop-2.10.1
3.安装JAVA JDK:JAVA JDK1.8
二、安装Spark(Local模式)
1.解压,移动
sudo tar -zxf spark-3.4.0-bin-without-hadoop.tgz -C /usr/local/
cd /usr/local
sudo mv ./spark-3.4.0-bin-without-hadoop/ ./spark-3.4.0
sudo chown -R qiangzi:qiangzi ./spark-3.4.0 # 此处的 qiangzi 为你的用户名
2.安装后,还需要修改Spark的配置文件spark-env.sh
cd /usr/local/spark-3.4.0
cp ./conf/spark-env.sh.template ./conf/spark-env.sh
3.编辑spark-env.sh文件(vim ./conf/spark-env.sh),在第一行添加以下配置信息:
export SPARK_DIST_CLASSPATH=$(/usr/local/hadoop/bin/hadoop classpath)
4.配置完成后就可以直接使用,不需要像Hadoop运行启动命令。通过运行Spark自带的示例,验证Spark是否安装成功。
cd /usr/local/spark-3.4.0
bin/run-example SparkPi
5.执行时会输出非常多的运行信息,输出结果不容易找到,可以通过 grep 命令进行过滤(命令中的 2>&1 可以将所有的信息都输出到 stdout 中,否则由于输出日志的性质,还是会输出到屏幕中):
cd /usr/local/spark-3.4.0
bin/run-example SparkPi 2>&1 | grep "Pi is"
三、使用 Spark Shell 编写代码
1.启动Spark Shell
cd /usr/local/spark-3.4.0
bin/spark-shell
四、问题汇总
1.重复安装不同版本的Spark,进入Spark Shell时显示之前安装的spark版本
2.删除之前安装的Spark的目录,不能打开Spark Shell ,出现报错信息
[qiangzi@master spark-2.4.8]$ bin/spark-shell
bin/spark-shell: line 60: /usr/local/spark-3.5.1/bin/spark-submit: No such file or directory
3.使用 vim ~/.bashrc
打开 .bashrc
文件时没有看到和Spark环境变量相关的内容,但使用echo $PATH,显示环境变量为之前Spark版本的环境变量。
4.进入/usr/local/etc/中修改环境变量,依然出现报错。
解决办法:
卸载安装的Spark,重新安装,注意hadoop和spark的版本匹配