1:准备环境
1:JDK1.8
2:Scala2.12.4
3:spark-2.2.0-bin-hadoop2.7.tgz预编译包
JDK1.8下载地址
Scala2.12.4下载地址
spark-2.2.0-bin-hadoop2.7.tgz下载地址
2:解压添加环境变量
2.1:配置JDK
解压缩包,进入JDK下载目录:
tar xvf jdk-8u151-linux-x64.tar.gz -C 解压目录
配置环境变量,我个人不太建议直接通过编辑profile文件写入新的环境变量,我们可以通过建立脚本然后将脚本上传到/etc/profile.d目录下,通过source使其生效即可。
我们建立java.sh,下面的spark和scala通过相同的方式进行操作(路径应该替换成你的解压路径)。文件内容如下:
JAVA_HOME=/shaozhen/RunSpark/JRE/jdk1.8.0_151
JAVA_BIN=/shaozhen/RunSpark/JRE/jdk1.8.0_151/bin
PATH=$PATH:$JAVA_BIN
CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME JAVA_BIN PATH CLASSPATH
将java.sh上传到/ect/profile.d目录下,
执行 source /etc/profile
执行 java -version如果出现下图结果,则说明安装成功
2.2:配置Scala
解压缩包,进入Scala下载目录:
tar xvf scala-2.12.4.tgz -C 解压目录
我们建立scala.sh,文件内容如下(路径应该替换成你的解压路径):
SCALA_HOME=/shaozhen/RunSpark/scala-2.12.4
PATH=$PATH:$SCALA_HOME/bin
export SCALA_HOME PATH
将scala.sh上传到/ect/profile.d目录下,
执行 source /etc/profile
执行 scala -version如果出现下图结果,则说明安装成功
2.3:配置Spark
解压缩包,进入Spark下载目录:
tar xvf spark-2.2.0-bin-hadoop2.7.tgz -C 解压目录
我们建立spark.sh,文件内容如下(路径应该替换成你的解压路径):
SPARK_HOME=/shaozhen/RunSpark/spark2.2hadoop2.7
PATH=$PATH:$SPARK_HOME/bin
export SPARK_HOME PATH
将spark.sh上传到/ect/profile.d目录下,
执行 source /etc/profile
我们通过运行spark示例来检测是否存在问题,我们进入spark解压之后所在的目录,进入到bin目录,
执行 cd $SPARK_HOME/bin
执行 ./run-example SparkPi
下面我只截取了输出的结果,可以看到Pi is rougnly 3.13...,同时会输出较多的info信息。
我第一次在操作的时候遇到一个错误是: java.net.UnknownHostException:iZuf615a8rio1i7qcps6npZ:iZuf615a8rio1i7qcps6npZ: Name or service not known
面对这种这种情况我们需要在hosts文件下加一行:
主机 iZuf615a8rio1i7qcps6npZ(该名称根据你的报错结果)
主机我们可以通过执行 ifconfig 获取,如下图所示:
我需要添加的内容就行:
172.19.9.68 iZuf615a8rio1i7qcps6npZ
执行 vim /etc/hosts
添加一行 172.19.9.68 iZuf615a8rio1i7qcps6npZ
保存退出即可
2.4:Spark交互式变成体验
执行 spark-shell ,可看到(部分info信息可不用理会)
我们可以通过最简单的wordcount去体验,
scala> var testFile=sc.textFile("/shaozhen/SparkTest/text.txt")
testFile: org.apache.spark.rdd.RDD[String] = /shaozhen/SparkTest/text.txt MapPartitionsRDD[1] at textFile at <console>:24
scala> testFile.count()
res3: Long = 7
启动后Master回启动一个HTTP WEB服务,方便我们查看Spark的工作状态,对应的端口在启动的日志里面都可以看到,如下图所示:
我们访问红色标注的地址,就可以看到当前spark的运行状态,以及运行的Job,如下图所示:
备注信息
到这里单机环境的Spark就算搭建完成了,后续就可以在这个基础上搭建分布式集群环境,集群环境下可能需要引入ZooKeeper,HDFS,Hadoop YARN一些子集群。