Python 3.6 与 PySpark 环境搭建教程:一步步指南
一、环境准备
1. 系统要求
已搭建 Hadoop 伪分布式集群(HDFS 和 YARN 正常运行)
Ubuntu 20.04 系统(默认预装 Python 3.8)
确保系统 Python 3.8 不被破坏(关键系统组件依赖)
2. 验证 Hadoop 环境
bash
复制
下载
# 检查HDFS服务状态 jps | grep -E 'NameNode|DataNode|ResourceManager|NodeManager' # 验证HDFS操作 hdfs dfs -ls /
二、Python 3.6 安装配置
1. 检查现有 Python 环境
bash
复制
下载
ls -l /usr/bin/python* python3 --version
2. 添加第三方软件源
bash
复制
下载
# 安装必要工具 sudo apt update sudo apt install software-properties-common -y # 添加 Deadsnakes PPA sudo add-apt-repository ppa:deadsnakes/ppa sudo apt update
3. 安装 Python 3.6
bash
复制
下载
sudo apt install python3.6 python3.6-dev python3.6-venv -y # 验证安装 /usr/bin/python3.6 --version
4. 配置替代版本
bash
复制
下载
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1 sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 2 # 切换Python版本 sudo update-alternatives --config python3
选择 Python 3.6 对应的编号
三、PySpark 环境配置
1. 设置环境变量
bash
复制
下载
# 编辑全局配置文件 sudo vim /etc/profile # 添加以下内容 export PYSPARK_PYTHON=/usr/bin/python3.6 export PYSPARK_DRIVER_PYTHON=/usr/bin/python3.6 # 使配置生效 source /etc/profile
2. 验证 PySpark
bash
复制
下载
# 启动PySpark Shell
pyspark
# 在Shell中测试
>>> sc.version
>>> sc.textFile("file:///etc/passwd").count()
四、pip 工具配置
1. 安装 pip
bash
复制
下载
# 为Python3.6安装pip curl https://bootstrap.pypa.io/get-pip.py | sudo python3.6 # 验证安装 pip3.6 --version
2. 配置国内镜像源
bash
复制
下载
# 创建pip配置目录 mkdir -p ~/.pip # 配置清华镜像源 cat > ~/.pip/pip.conf <<EOF [global] index-url = https://pypi.tuna.tsinghua.edu.cn/simple trusted-host = pypi.tuna.tsinghua.edu.cn EOF
3. 常用包安装
bash
复制
下载
pip3.6 install numpy pandas matplotlib jupyter
五、Spark 目录结构说明
| 目录 | 用途说明 |
|---|---|
| bin/ | 可执行脚本(pyspark、spark-shell等) |
| conf/ | 配置文件(spark-env.sh等) |
| jars/ | 依赖的Java库 |
| python/ | PySpark源代码和依赖 |
| examples/ | 示例程序 |
六、关键注意事项
-
版本兼容性:
-
Spark 2.4.x 支持 Python 3.6+
-
Spark 3.0+ 需要 Python 3.7+
-
HDFS 权限管理:
bash
复制
下载
# 设置HDFS目录权限 hdfs dfs -mkdir /user/spark hdfs dfs -chown spark:spark /user/spark
-
资源限制调整(spark-env.sh):
bash
复制
下载
export SPARK_DRIVER_MEMORY=1g export SPARK_EXECUTOR_MEMORY=2g
-
虚拟环境使用(可选):
bash
复制
下载
python3.6 -m venv pyspark_env source pyspark_env/bin/activate pip install pyspark findspark
七、验证测试
1. 本地文件读写测试
python
复制
下载
from pyspark import SparkContext
sc = SparkContext("local", "TestApp")
# 本地文件测试
local_file = sc.textFile("file:///etc/hosts")
print(local_file.count())
2. HDFS 文件操作测试
python
复制
下载
# HDFS文件测试(需先上传测试文件)
hdfs_file = sc.textFile("hdfs://localhost:9000/test/input.txt")
print(hdfs_file.first())
3. Web UI 访问
Spark UI: http://localhost:4040
YARN UI: http://localhost:8088
故障排查指南
-
Python版本问题:
bash
复制
下载
# 检查PySpark使用的Python版本 pyspark --version
-
依赖冲突:
bash
复制
下载
# 查看冲突的Python包 pip3.6 list --format=columns
-
内存不足:
bash
复制
下载
# 调整Spark内存设置 echo "export SPARK_EXECUTOR_MEMORY=2g" >> $SPARK_HOME/conf/spark-env.sh
-
HDFS连接失败:
bash
复制
下载
# 检查HDFS服务状态 hdfs dfsadmin -report
作者:2501_90846564