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/

相关推荐
pale_moonlight11 小时前
九、Spark基础环境实战((上)虚拟机安装Scala与windows端安装Scala)
大数据·分布式·spark
青云交2 天前
Java 大视界 -- Java 大数据在智能物流无人配送车路径规划与协同调度中的应用
java·spark·路径规划·大数据分析·智能物流·无人配送车·协同调度
yumgpkpm3 天前
腾讯云TBDS与CDH迁移常见问题有哪些?建议由CDH迁移到CMP 7.13 平台(类Cloudera CDP,如华为鲲鹏 ARM 版)
hive·hadoop·zookeeper·flink·spark·kafka·hbase
bigdata-rookie4 天前
Spark 部署模式
大数据·分布式·spark
sheji34165 天前
【开题答辩全过程】以 基于Spark的药品库存可视化分析系统为例,包含答辩的问题和答案
大数据·分布式·spark
larance5 天前
spark-submit 常用方式
大数据·spark
A尘埃5 天前
Spark基于内存计算的数据处理
大数据·分布式·spark
bigdata-rookie5 天前
Flink Checkpoint 和 Spark Checkpoint 的区别
大数据·flink·spark
灯下夜无眠6 天前
conda打包环境上传spark集群
大数据·spark·conda
杂家6 天前
Hive on Spark && Spark on Hive配置
大数据·数据仓库·hive·hadoop·spark