前言: 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
2.5 使用python3和ipython
修改 spark-env.sh 文件,设置PYSPARK_PYTHON
和PYSPARK_DRIVER_PYTHON
$ vim spark-env.sh
export PYSPARK_PYTHON=/usr/local/bin/python3
export PYSPARK_DRIVER_PYTHON=ipython
修改 /etc/profile,添加PYTHONPATH
、SPARK_HOME
和PATH
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_HOME
和HADOOP_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!