全文参考:https://my.oschina.net/zhgk/blog/417596
操作系统是双系统下的Ubuntu Kylin 14.04 LTS
考虑到版本兼容的问题,本次搭建采用 jdk1.7.0_79 + scala-2.10.6 + spark-1.6.0, python-2.7.6为Ubuntu系统自带。spark-2.0之后默认支持scala-2.11,按需配置。
推荐使用 Scala-2.11.8 + Spark-2.0.1,但是需要注意的是Spark-1.6.0和Spark-2.0.1对单机的内存要求是不一样的,根据硬件条件选择你的Spark版本。
搭建过程中涉及到的文件夹统一放在 /opt 文件夹下。
1. 首先在/opt 文件夹下新建三个文件夹
sudo mkdir /opt/jvm
sudo mkdir /opt/scala
sudo mkdir /opt/spark
2. 下载相关安装包
Java SE Development Kit 7u79 注意是 jdk 不是 jre
http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
下载得到的文件名为 jdk-7u79-linux-x64.tar.gz 默认下载到Downloads文件夹下
sudo mv ~/Downloads/jdk-7u79-linux-x64.tar.gz /opt/jvm
cd /opt/jvm
sudo tar -xzf jdk-7u79-linux-x64.tar.gz
#重命名解压得到的文件夹
sudo mv jdk1.7.0_79 jdk-1.7.0
#返回主文件夹
cd
scala-2.10.6
http://www.scala-lang.org/download/2.10.6.html
下载得到的文件名为 scala-2.10.6.tgz 默认下载到Downloads文件夹下
sudo mv ~/Downloads/scala-2.10.6.tgz /opt/scala
cd /opt/scala
sudo tar -xzf scala-2.10.6.tgz
#返回主文件夹
cd
spark-1.6.0 pre-built for hadoop 2.6
http://spark.apache.org/downloads.html
下载得到的文件名为 spark-1.6.0-bin-hadoop2.6.tgz 默认下载路径不在Downloads文件夹,可以通过浏览器下载记录找一下,移动到Downloads文件夹下再做后续处理
sudo mv ~/Downloads/spark-1.6.0-bin-hadoop2.6.tgz /opt/spark
cd /opt/spark
sudo tar -xzf spark-1.6.0-bin-hadoop2.6.tgz
#重命名解压得到的文件夹
sudo mv spark-1.6.0-bin-hadoop2.6 spark-1.6.0
#返回主文件夹
cd
3. 配置环境变量
此处我修改的是/etc/profile文件,测试可用。网上也有修改~/.bashrc文件的,我没有实验成功。
sudo gedit /etc/profile
在该文件末尾添加以下环境变量
export JAVA_HOME=/opt/jvm/jdk-1.7.0
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin:$PATH
export SCALA_HOME=/opt/scala/scala-2.10.6
export PATH=${SCALA_HOME}/bin:$PATH
export SPARK_HOME=/opt/spark/spark-1.6.0
export PYTHONPATH=/opt/spark/spark-1.6.0/python
重启电脑,使 /etc/profile 永久生效,临时生效,打开命令窗口,执行 source /etc/profile 在当前窗口生效。
4. 测试
在命令窗口切换到Spark根目录
cd /opt/spark/spark-1.6.0
./bin/pyspark
启动过程中无错误,在出现如下所示时,启动成功。
cd /opt/spark/spark-1.6.0
./bin/spark-shell
启动过程报错:<console>: 16: error: not found: value sqlContext
以上错误目前我没有找到好的解决方案,网上查到的两种方法,一种配置HADOOP_HOME,一种改SPARK_LOCAL_IP,我都没有测试成功。
将安装包替换为
Scala-2.11.8 + Spark-2.0.1
之后,以上错误就不再出现。
./bin/pyspark (quit() 退出)
./bin/spark-shell (Ctrl + C退出)
5. 为了配合Python的使用,在/opt/spark/spark-2.0.1/python/lib 文件夹下解压 py4j-0.10.3-src.zip
cd /opt/spark/spark-2.0.1/python/lib
sudo unzip py4j-0.10.3-src.zip
# 将得到的py4j文件夹移动到/opt/spark/spark-2.0.1/python文件夹下
sudo mv py4j /opt/spark/spark-2.0.1/python
打开新的命令行窗口