安装java环境
spark需要用到java环境,如果在终端敲入java -version
命令提示找不到java命令。这说明还没有安装java环境。安装方式有很多中,最简单的使用apt安装:
sudo apt install openjdk-8-jre-headless
这里选择的是jdk8,现在jdk9也已经有了,但是试了一下有一些小问题。
另一种安装方式,是下载openjdk的安装包,解压到要安装的目录,并将解压后的bin路径添加到环境变量PATH中:
sudo vi /etc/profile
#添加
export PATH=$PATH:path_to_java_bin
#使用下面的命令使设置立即生效:(下同)
source /etc/profile
做完上面的操作使用java -version
命令会看到jdk的版本信息。另外除了openjdk还有其他版本的jdk可以选择,这里只使用了openjdk。
spark还需要一个JAVA_HOME的环境变量,来得到jdk的安装目录。上面的安装不会自动生成这个变量,所以需要手动添加:
sudo vi /etc/profile
#添加
# 使用apt安装时,默认路径是下面这个。
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
安装pyspark
假定已经安装了python,以及python的包管理工具pip。最简单的安装pyspark的方式就是使用pip命令:
sudo pip3 install pyspark #python3版本
sudo pip install pyspark #python2版本
这样安装以后,可以使用pyspark
命令运行交互式的spark,也可以使用spark-submit
命令提交脚本。
如果使用的是python3,需要添加环境变量:export PYSPARK_PYTHON=python3
这种安装方式,可以使用已经配置好的分布式环境;也可以在本地做单节点多进程的计算。但是不能配置spark standlone分布式环境。(参考来源)
而且神奇的是,使用这种安装方式可以直接用python提交脚本:python3 test.py
另一种比较常规的安装方式,是下载spark安装包。解压到要安装的目录。然后添加环境变量:
sudo /etc/profile
#添加
export SPARK_HOME=path_to_spark
export PATH=$PATH:$SPARK_HOMR/bin
#说明:添加环境变量的目的主要是为了让系统找到命令。
#其实也可以不添加,然后使用命令的时候加上完整路径。
#设置环境变量可以在/etc/profile里
#也可以在~目录下的.bash_profile或.bashrc中,略有差异
分布式环境
spark的主要作用是提供一套更高级更简单的分布式编程接口,使得分布式编程不像MPI那样复杂(同时不如MPI自由度大)。按上面的方式安装好之后,就可以在单机上学习spark编程了。
如果希望代码在多台机器上运行,则需要搭建分布式环境。分布式环境的搭建也有多种工具,spark安装包本身也提供了一套工具,可以搭建“spark standalone cluster”分布式环境。这里我们选择搭建的是yarn环境;spark standalone的搭建相对更简单,可以参考spark官方说明。
搭建yarn环境大致分下面几步:
- 下载hadoop安装包,解压到安装目录
- 添加相关环境变量
- 配置hadoop和yarn的参数
- 格式化分布式文件系统:
hdfs namenode -format
;启动hdfs:start-dfs.sh
;启动yarn:start-yarn.sh
具体配置可以参考官方说明,还有很多博客,这里就不重复写了。