参考书籍:Hadoop Spark大数据巨量分析与机器学习 林大贵
spark的cluster模式架构图,其中:
DriverProgram就是程序员所设计的Spark程序,在Spark程序中必须定义sparkcontext,他是开发Spark应用程序的入口。
SparkContext通过Cluster Manager管理整个集群,集群中包含多个worker节点,每个工作节点都有executer负责执行任务。
Spark的安装过程:
Spark本身是以Scala开发的,所以必须
先安装Scala,安装在master虚拟机上:
wh@master:/usr/local/hadoop$ wget http://www.scala-lang.org/files/archive/scala-2.11.12.tgz
从网页下载sacala 2.11.12版本
解压,移动到 /usr/local/scala tar -xvf scala-2.11.12.tgz sudo mv file dir
设置Scala用户环境变量:
sudo gedit ~/.bashrc
#SCALA Variables
export SCALA_HOME=/usr/local/scala
export PATH=$PATH:$SCALA_HOME/bin
#SCALA Variables
source ~/.bashrc 刷新环境变量。 这样SCALA就安装完成,可以在任何目录下执行scala程序。
wh@master:~/下载$ source ~/.bashrc wh@master:~/下载$ scala cat: /usr/lib/jvm/java-8-openjdk-amd64/release: 没有那个文件或目录 Welcome to Scala 2.11.12 (OpenJDK 64-Bit Server VM, Java 1.8.0_162). Type in expressions for evaluation. Or try :help. scala> 1+1 res0: Int = 2 scala> q :12: error: not found: value q q ^ scala> :q wh@master:~/下载$
(有点慢啊这个scala)
安装Spark
wh@master:~/下载$ wget https://www.apache.org/dyn/closer.lua/spark/spark-2.3.0/spark-2.3.0-bin-hadoop2.6.tgz
注意在页面中选择对应于hadoop的版本(另外这个这么小么,只有200K+,果然出问题了,这个这是个链接,导致不能tar)
查了以下,spark1.X在2016年以后就不更新了,所以直接上spark2.3。有什么问题再说吧。
链接:http://spark.apache.org/downloads.html 此处下载的是usr-provide版本,可以和任何版本hadoop版本兼容。
然后解压,移动到 /usr/local/spark (和上述scala命令类似)
进入/usr/local/spark/conf 执行:cp spark-env.sh.template spark-env.sh
最后一行加入:
用以修改SPARK 的CLASSPATH(不加会在启动spark的时候报错,找不到slf4....包,暂时没弄明白为什么)
spark-shell :启动spark交互页面
可以看到,自带了scala2.11.8,嗨......这个书啊。
用pyspark打开spark的python接口,虽然写着是python2.7版本,但是python3.x的格式也支持。这里
留个疑问