官网相关:http://docs.anaconda.com/anaconda-scale/howto/spark-basic/,可以仔细阅读,写的非常不错
说明:centos6.8系统,自带的2.6.6的python,不支持jupyter,需要2.7版本的python ,而anaconda的parcel包可以集成CDH,而且版本也满足,所以可以直接cdh进行分发
在clouder cdh的集群上使用anaconda有2种方式,目前免费的Anaconda只支持python2.7版本的clouder包裹,如果需要python3,联系官方,估计要收费
1.使用Anaconda包裹进行Cloudera CDH,cdh种集成可以采用parcel包的方式,具体操作和集成kafka一样,或者采用配置url,比如
下载parcel,激活,分发即可
默认的安装目录是:PYSPARK_PYTHON=/opt/cloudera/parcels/Anaconda/bin/
注意:上面显示的存储库URL会安装最新版本的Anaconda parcel。要安装较旧版本的Anaconda parcel,请将以下存储库URL添加到Cloudera Manager中的Remote Parcel Repository URL,然后按照上述步骤使用所需版本的Anaconda parcel。
https://repo.continuum.io/pkgs/misc/parcels/archive/
配置环境变量,这样通过pyspark提交任务到yarn上就可以了
*******************************************************************
使用Jupyter笔记本和Cloudera CDH配置Anaconda
配置Jupyter笔记本使用Anaconda Scale和Cloudera CDH,使用笔记本顶部的以下Python代码:
import os
import sys
os.environ["PYSPARK_PYTHON"] = "/opt/continuum/anaconda/bin/python"
os.environ["JAVA_HOME"] = "/usr/java/jdk1.7.0_67-cloudera/jre"
os.environ["SPARK_HOME"] = "/opt/cloudera/parcels/CDH/lib/spark"
os.environ["PYLIB"] = os.environ["SPARK_HOME"] + "/python/lib"
sys.path.insert(0, os.environ["PYLIB"] +"/py4j-0.9-src.zip")
sys.path.insert(0, os.environ["PYLIB"] +"/pyspark.zip")
上述配置使用Cloudera CDH 5.11和Spark 1.6进行了测试。根据您安装的Cloudera CDH的版本,您可能需要根据群集上Java,Spark和Anaconda的位置自定义这些路径。
其实真正在线上环境最好:CDH去整合spark2.x的parcel包,然后组件安装到CDH里边,在环境配置中根据当前的版本来配置即可