2.安装Apache Spark 2.1

前言: cloudera自带的Spark版本较低,通过Apache Spark官网下载并安装Spark 2.1版本,分为单机和集群两种安装部署方式。

一、下载Spark 2.1

先查看hadoop版本,下面查询结果显示为:hadoop 2.6

$ hadoop version
Hadoop 2.6.0-cdh5.11.0

然后下载spark,下载地址:http://spark.apache.org/downloads.html

注意:
Choose a Spark release:2.1.0
Choose a package type: Pre-built for Apache Hadoop 2.6

二、Spark安装及部署–单机

2.1 解压

将下载的spark-2.1.0-bin-hadoop2.6.tgz文件上传至 /opt 目录,然后解压文件

$ tar -xvf spark-2.1.0-bin-hadoop2.6.tgz

2.2 建立链接

$ ln -s spark-2.1.0-bin-hadoop2.6 spark2 

2.3 查看python版本

$ python -V
Python 2.6.6

注意: 将python的版本升级到3.4.5,不要选择高于3.4.5的版本

2.4 升级到python 3.4.5

参照Linux升级Python至3.4.5

2.5 使用python3和ipython

修改 spark-env.sh 文件,设置PYSPARK_PYTHONPYSPARK_DRIVER_PYTHON

$ vim spark-env.sh
export PYSPARK_PYTHON=/usr/local/bin/python3
export PYSPARK_DRIVER_PYTHON=ipython

修改 /etc/profile,添加PYTHONPATHSPARK_HOMEPATH

export PYTHONPATH=$SPARK_HOME/python/:$SPARK_HOME/python/lib/py4j-0.10.4-src.zip:$PYTHONPATH
export SPARK_HOME=/opt/spark2
export PATH=$PATH:$SPARK_HOME/bin
$ source /etc/profile

2.6 运行spark

$ /opt/spark2/bin/pyspark

...
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /__ / .__/\_,_/_/ /_/\_\   version 2.1.0
      /_/

Using Python version 3.4.5 (default, Jul  6 2017 11:13:57)
SparkSession available as 'spark'.
In [1]:

这样表示已经成功启动spark
我们可以查看spark的版本

>>> sc.version
'2.1.0'

这样我们就可以正常使用spark啦!

注意: 如果出现找不到hive组件类似的错误,我们需要将hadoop和hive的配置文件复制到 /opt/spark2/conf 目录下。

如下:

$ cd /etc/hadoop/conf
$ cp *-site.xml /opt/spark2/conf/
$ cd /etc/hive/conf
$ cp hive-* /opt/spark2/conf/

三、Spark安装及部署–集群 YARN

在spark单机版的基础上,配置成我们需要的集群版本,即在YARN上运行
修改 spark-env.sh 文件,设置SPARK_HOMEHADOOP_HOME

$ vim /opt/spark2/conf/spark-env.sh
export SPARK_HOME=/opt/spark2
export HADOOP_HOME=/opt/cloudera/parcels/CDH-5.11.0-1.cdh5.11.0.p0.34/lib/hadoop

通过yarn运行spark

./pyspark --master yarn

...
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /__ / .__/\_,_/_/ /_/\_\   version 2.1.0
      /_/

Using Python version 3.4.5 (default, Jul  6 2017 11:13:57)
SparkSession available as 'spark'.
In [1]: sc.master
Out[1]: 'yarn'

这样我们就配置完成了,可以通过yarn来运行spark!

    原文作者:逆流而上kiss
    原文地址: https://www.jianshu.com/p/bd1e460ae7b0
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞