参考:Spark2.1.0入门:Spark的安装和使用_厦大数据库实验室博客
我的版本:
hadoop 3.1.3
hbase 2.2.2
java openjdk version "1.8.0_432"
问了chatgpt,建议下载Spark3.4.4,不适合下载Spark 2.1.0:
step1
Spark下载网址:Downloads | Apache Spark
下载spark-3.4.4-bin-hadoop3.tgz,下载的文件,默认会被浏览器保存在“/home/hadoop/下载”目录下。
按照教程来,注意文件名的不同,我在输入指令的时候有些是错误的,注意甄别:
编辑spark-env.sh文件(vim ./conf/spark-env.sh),在第一行添加以下配置信息:
export SPARK_DIST_CLASSPATH=$(/usr/local/hadoop/bin/hadoop classpath)
vim中编辑后:
有了上面的配置信息以后,Spark就可以把数据存储到Hadoop分布式文件系统HDFS中,也可以从HDFS中读取数据。如果没有配置上面信息,Spark就只能读写本地数据,无法读写HDFS数据。
配置完成后就可以直接使用,不需要像Hadoop运行启动命令。
通过运行Spark自带的示例,验证Spark是否安装成功。
cd /usr/local/spark
bin/run-example SparkPi
执行时会输出非常多的运行信息,输出结果不容易找到,可以通过 grep 命令进行过滤(命令中的 2>&1 可以将所有的信息都输出到 stdout 中,否则由于输出日志的性质,还是会输出到屏幕中):
bin/run-example SparkPi 2>&1 | grep "Pi is"
这里涉及到Linux Shell中管道的知识,详情可以参考Linux Shell中的管道命令
过滤后的运行结果如下图示,可以得到π 的 5 位小数近似值:
启动spark-shell环境:
bin/spark-shell