背景
在centos6.8系统上搭建spark框架,spark版本为2.1.0,在安装完python3.6之后,报异常:namedtuple() missing 3 required keyword-only arguments。
原因是spark2.1.0不支持python3.6,所以重新安装python3.5
步骤
-
准备安装环境和依赖:
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel
-
下载并安装python3.5
wget https://www.python.org/ftp/python/3.5.0/Python-3.5.0.tgz tar zxvf Python-3.5.0.tgz
-
编译安装
cd Python-3.5.0 ./configure --prefix=/usr/local/python3 make && make install
出现以下异常:error: no acceptable c compiler found in $path
解决:yum install gcc
-
设置环境变量
echo 'export PATH=$PATH:/usr/local/python3/bin' >> ~/.bashrc
-
重启shell
exec $SHELL
-
安装完毕,使用spark
cd /usr/local/spark bin/pysaprk
出现异常:pyspark java.net.BindException: Address already in use
原因:端口4040占用
解决:1. 首先查看端口占用情况netstat -ntlp
kill -9 PID
在运行:bin/pyspark
成功