PySpark开发环境搭建常见问题及解决

PySpark环境搭建常见问题及解决

本文主要收录PySpark开发环境搭建时常见的一些问题及解决方案,并收集一些相关资源

1、winutils.exe问题

报错摘要:

python 复制代码
WARN Shell: Did not find winutils.exe: {}
java.io.FileNotFoundException: java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset.
......

原因1 :缺少Hadoop的Windows支持环境:hadoop.dllwinutils.exe

详见官网: https://cwiki.apache.org/confluence/display/hadoop/WindowsProblems

原因2 :已经下载hadoop.dllwinutils.exe,并配置了环境变量,但未将hadoop.dllwinutils.exe可不用)文件拷贝到C:\Windows\System32目录中(重启电脑才能生效)

解决 :下载Hadoop的Windows支持环境:hadoop.dllwinutils.exe,配置环境变量,并将hadoop.dll文件拷贝到C:\Windows\System32目录中,重启电脑

PShadoop.dllwinutils.exe各版本下载链接见文末附录

2、SparkURL问题

报错摘要:

python 复制代码
To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).
23/12/05 14:50:09 ERROR SparkContext: Error initializing SparkContext.
org.apache.spark.SparkException: Invalid Spark URL: spark://HeartbeatReceiver@***
......

原因 :主机名带了下划线_或点.导致

解决:

方式1 :添加配置:spark.driver.host=localhost

方式2:修改本机hosts文件:添加主机名与IP映射:

python 复制代码
主机名 127.0.0.1

然后添加配置:spark.driver.bindAddress=127.0.0.1

Spark属性配置官方文档:https://spark.apache.org/docs/3.1.2/configuration.html

3、set_ugi()问题

报错摘要:

python 复制代码
23/12/05 15:13:10 WARN NativeIO: NativeIO.getStat error (3): ϵͳ�Ҳ���ָ����·����
 -- file path: tmp/hive
23/12/05 15:13:21 WARN ProcfsMetricsGetter: Exception when trying to compute pagesize, as a result reporting of ProcessTree metrics is stopped
23/12/05 15:13:22 WARN metastore: set_ugi() not successful, Likely cause: new client talking to old server. Continuing without it.
org.apache.thrift.transport.TTransportException
......

可能原因:权限问题

解决 :首先配置屏蔽:spark.executor.processTreeMetrics.enabled=false,然后尝试如下方式:

方式1:修改hdfs-site.xml

xml 复制代码
# 在集群服务器的hdfs-site.xml文件中添加跳过权限验证
# 注意修改配置前先停止集群,配置结束之后,重启集群即可。经测试只需要修改NameNode上的配置文件即可
<property>
    <name>dfs.permissions.enabled</name>
    <value>false</value>
</property>

方式2:修改hive-site.xml

xml 复制代码
# 新客户端与旧服务器通信,hive-site.xml与服务器不同步
# 在hive-site.xml中添加以下内容:
<property>
    <name>hive.metastore.event.db.notification.api.auth</name>
    <value>false</value>
</property>

================== 附录资源 ==================

hadoop.dll和winutils.exe各版本下载https://github.com/cdarlint/winutils/tree/master/hadoop-3.1.2

Hadoop各版本下载https://archive.apache.org/dist/hadoop/common/

Spark各版本下载http://archive.apache.org/dist/spark/

相关推荐
最初的↘那颗心1 小时前
Spark Job 调度机制拆解:从 Action 算子到 Task 执行
大数据·spark·分布式计算
尋有緣5 小时前
Spark SQL 调优
大数据·sql·spark
十月南城1 天前
实时数据平台的价值链——数据采集、加工、存储、查询与消费的协同效应与ROI评估
数据库·数据仓库·hive·hadoop·spark
伟大的大威2 天前
NVIDIA DGX Spark (Blackwell GB10) 双机 196B Step 3.5 Flash 大模型部署完整实录
分布式·spark·nvidia
petrel20152 天前
【Spark】深度魔改 Spark 源码:打破静态限制,实现真正的运行时动态扩缩容
大数据·分布式·spark
zml.~3 天前
Spark 大数据分析:从原理到实战的一站式指南
大数据·数据分析·spark
zml.~3 天前
Spark大数据分析:解锁海量数据价值的核心利器
大数据·数据分析·spark
petrel20153 天前
【Spark】性能与联通性的终极博弈:Spark on K8s 主机网络改造深度实战
大数据·网络·spark·kubernetes·claude code
Moshow郑锴3 天前
Spark与Prophecy综合比较&&推荐Prophecy的理由
大数据·分布式·spark
high20113 天前
【Auron】-- 让 Spark SQL/DataFrame 跑得更快
大数据·sql·spark