CDH集群上运行pyspark代码之环境安装——CDH集群使用Parcel包配置Anaconda
现场CDH集群的版本是5.12,操作系统CentOS 6.5,python是2.6.6。我至少需要python2.7+或python3.5+以上的环境,因此需要在CDH集群安装Anaconda。
最终我希望利用Ananconda配置一个python2.7的环境。
下载Parcel包
从Anaconda官网下载Parcel包,这里下载的是Anaconda-4.2.0-el6.parcel
,el6
是操作系统的版本,Anaconda-4.2.0
里的python是2.7。
- 下载下面三个文件:
https://repo.continuum.io/pkgs/misc/parcels/Anaconda-4.2.0-el6.parcel
https://repo.continuum.io/pkgs/misc/parcels/Anaconda-4.2.0-el6.parcel.sha
https://repo.continuum.io/pkgs/misc/parcels/manifest.json
- 将上述3个文件下载至HTTP所在服务器的
/var/www/html/anaconda4.2.0
目录下
[root@ip-172-31-6-148 html]# mkdir -p anaconda4.2.0/
[root@ip-172-31-6-148 html]# cd anaconda4.2.0/
[root@ip-172-31-6-148 anaconda4.2.0]# ls
total 541416
-rw-r--r-- 1 root root 554396033 Jun 19 17:47 Anaconda-4.2.0-el6.parcel
-rw-r--r-- 1 root root 41 Jul 7 19:43 Anaconda-4.2.0-el6.parcel.sha
-rw-r--r-- 1 root root 3890 Jul 7 19:43 manifest.json
-
CM上安装Anaconda
- 配置Anaconda的parcels包访问地址
- 点击下载、分配并激活
-
参考的文档上说要配置环境变量,不用配置也是可以直接使用的
提交PySpark代码
代码提交到Spark集群时遇到两个问题
spark2-submit
命令使用的不对,刚开始用spark-submit
总是报错- 使用自定义的模块,总是报
cannot import package
,也就是--py-files
不生效。多个文件用,
分割,也可以将其都打包成.zip
。最重要的是主文件/home/fk_analysis.py
要放在--py-files
之后
/etc/alternatives/spark2-submit --master yarn --deploy-mode cluster --num-executors 80 --executor-memory=8g --driver-memory=20g --executor-cores=2 --py-files /home/pyspark/utils/data_help.py,/home/pyspark/utils/pyspark_udaf.py /home/fk_analysis.py