首页 > 其他分享 >【错误记录】PySpark 运行报错 ( Did not find winutils.exe | HADOOP_HOME and hadoop.home.dir are unset )

【错误记录】PySpark 运行报错 ( Did not find winutils.exe | HADOOP_HOME and hadoop.home.dir are unset )

时间:2023-08-07 12:37:10浏览次数:46  
标签:exe PySpark pyspark hadoop Hadoop 报错 3.3 Tom Jerry



文章目录

  • 一、报错信息
  • 二、解决方案 ( 安装 Hadoop 运行环境 )







一、报错信息



核心报错信息 :

  • WARN Shell: Did not find winutils.exe: java.io.FileNotFoundException:
  • java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset.


在 PyCharm 中 , 调用 PySpark 执行 计算任务 , 会报如下错误 :

D:\001_Develop\022_Python\Python39\python.exe D:/002_Project/011_Python/HelloPython/Client.py
23/08/01 11:25:24 WARN Shell: Did not find winutils.exe: java.io.FileNotFoundException: java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset. -see https://wiki.apache.org/hadoop/WindowsProblems
Setting default log level to "WARN".
To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).
23/08/01 11:25:24 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
PySpark 版本号 :  3.4.1
查看文件内容 :  ['Tom Jerry', 'Tom Jerry Tom', 'Jack Jerry']
查看文件内容展平效果 :  ['Tom', 'Jerry', 'Tom', 'Jerry', 'Tom', 'Jack', 'Jerry']
转为二元元组效果 :  [('Tom', 1), ('Jerry', 1), ('Tom', 1), ('Jerry', 1), ('Tom', 1), ('Jack', 1), ('Jerry', 1)]
D:\001_Develop\022_Python\Python39\Lib\site-packages\pyspark\python\lib\pyspark.zip\pyspark\shuffle.py:65: UserWarning: Please install psutil to have better support with spilling
D:\001_Develop\022_Python\Python39\Lib\site-packages\pyspark\python\lib\pyspark.zip\pyspark\shuffle.py:65: UserWarning: Please install psutil to have better support with spilling
D:\001_Develop\022_Python\Python39\Lib\site-packages\pyspark\python\lib\pyspark.zip\pyspark\shuffle.py:65: UserWarning: Please install psutil to have better support with spilling
D:\001_Develop\022_Python\Python39\Lib\site-packages\pyspark\python\lib\pyspark.zip\pyspark\shuffle.py:65: UserWarning: Please install psutil to have better support with spilling
最终统计单词 :  [('Tom', 3), ('Jack', 1), ('Jerry', 3)]

Process finished with exit code 0

【错误记录】PySpark 运行报错 ( Did not find winutils.exe | HADOOP_HOME and hadoop.home.dir are unset )_分布式






二、解决方案 ( 安装 Hadoop 运行环境 )



核心报错信息 :

  • WARN Shell: Did not find winutils.exe: java.io.FileNotFoundException:
  • java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset.


PySpark 一般会与 Hadoop 环境一起运行 , 如果在 Windows 中没有安装 Hadoop 运行环境 , 就会报上述错误 ;

Hadoop 发布版本在 https://hadoop.apache.org/releases.html 页面可下载 ;

【错误记录】PySpark 运行报错 ( Did not find winutils.exe | HADOOP_HOME and hadoop.home.dir are unset )_PySpark_02

当前最新版本是 3.3.6 , 点击 Binary download 下的 binary (checksum signature) 链接 ,

【错误记录】PySpark 运行报错 ( Did not find winutils.exe | HADOOP_HOME and hadoop.home.dir are unset )_hadoop_03


进入到 Hadoop 3.3.6 下载页面 :

【错误记录】PySpark 运行报错 ( Did not find winutils.exe | HADOOP_HOME and hadoop.home.dir are unset )_python_04

下载地址为 :

https://dlcdn.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz

官方下载速度很慢 ;

【错误记录】PySpark 运行报错 ( Did not find winutils.exe | HADOOP_HOME and hadoop.home.dir are unset )_hadoop_05

这里提供一个 Hadoop 版本 , Hadoop 3.3.4 + winutils , CSDN 0 积分下载地址 :

下载完后 , 解压 Hadoop , 安装路径为 D:\001_Develop\052_Hadoop\hadoop-3.3.4\hadoop-3.3.4 ;

【错误记录】PySpark 运行报错 ( Did not find winutils.exe | HADOOP_HOME and hadoop.home.dir are unset )_大数据_06

在 环境变量 中 , 设置

HADOOP_HOME = D:\001_Develop\052_Hadoop\hadoop-3.3.4\hadoop-3.3.4

系统 环境变量 ;

【错误记录】PySpark 运行报错 ( Did not find winutils.exe | HADOOP_HOME and hadoop.home.dir are unset )_PySpark_07

在 Path 环境变量中 , 增加

%HADOOP_HOME%\bin
%HADOOP_HOME%\sbin

环境变量 ;

【错误记录】PySpark 运行报错 ( Did not find winutils.exe | HADOOP_HOME and hadoop.home.dir are unset )_PySpark_08

设置 D:\001_Develop\052_Hadoop\hadoop-3.3.4\hadoop-3.3.4\etc\hadoop\hadoop-env.cmd 脚本中的 JAVA_HOME 为真实的 JDK 路径 ;

set JAVA_HOME=%JAVA_HOME%

修改为

set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_91

【错误记录】PySpark 运行报错 ( Did not find winutils.exe | HADOOP_HOME and hadoop.home.dir are unset )_大数据_09

将 winutils-master\hadoop-3.3.0\bin 中的 hadoop.dll 和 winutils.exe 文件拷贝到 C:\Windows\System32 目录中 ;

【错误记录】PySpark 运行报错 ( Did not find winutils.exe | HADOOP_HOME and hadoop.home.dir are unset )_python_10

重启电脑 , 一定要重启 ;

然后在命令行中 , 执行

hadoop -version

验证 Hadoop 是否安装完成 ;


标签:exe,PySpark,pyspark,hadoop,Hadoop,报错,3.3,Tom,Jerry
From: https://blog.51cto.com/u_14202100/6992428

相关文章

  • 【HMS Core】推送报错907135701、分析数据查看
    ​【关键字】HMS、推送服务、分析服务 【问题描述1】集成推送服务,获取Token时报错907135701:scopelistempty 【解决方案】907135701OpenGW没有配置Scope1、您可以检查下网络是否有问题,手机是否可以正常连接互联网2、查看推送服务开关是否正常打开​​ 【问题......
  • 無法將檔案 "obj\Debug\xxx.exe" 複製到 "bin\Debug\xxx.exe"。由於另一個處理序
     解决方案:暂时不清楚为什么关闭debug后再次发起debug会出现这种情况,但是这种方法可解决上述错误 ......
  • bazel test 编译失败:googletest、gtest 报错
    问题描述bazeltest遇到很多奇怪的编译错误,报错位置位于“googletest”目录,而且没有修改过googletest源码:ERROR:/bazel_cache/output_user_root/.../external/google/BUILD.bazel:80:11:Compilinggoogletest/src/gtest-matchers.ccfailed:(Exit1):gccfailed:errore......
  • bazel 使用 gtest/gmock 报错 Constraints from @bazel_tools//platforms have been r
    问题描述运行bazeltest命令,遇到错误:“Constraintsfrom@bazel_tools//platformshavebeenremoved.Pleaseuseconstraintsfrom@platformsrepositoryembeddedinBazel,orpreferablydeclaredependencyonhttps://github.com/bazelbuild/platforms.Seehttps://gi......
  • tensorflow 版本不同 报错合集
    1、"AttributeError:module'tensorflow'hasnoattribute'random_normal'"问题解决办法使用importtensorflow.compat.v1astftf.disable_v2_behavior()替换importtensorflowastf 2、tensorflow.python.framework.errors_impl.InvalidArgume......
  • vue 开源项目 安装脚手架报错问题 ERESOLVE unable to resolve dependency tree
       在安装项目依赖时,很大可能会遇到安装不成功的问题,其中有一个很大的原因,可能就是因为你的npm版本导致的 使用--force或--legacy-peer-deps可解决这种情况。--force会无视冲突,并强制获取远端npm库资源,当有资源冲突时覆盖掉原先的版本。--legacy-peer-deps标志是在v7......
  • 解决 Dapper.Contrib 报错“值对于 Int32 太大或太小”问题
    需求:在使用Dapper.Contrib执行Insert方法的时候,插入单条数据对于自增主键字段的返回值为插入后的值,当返回值大于2147483647的时候,Dapper.Contrib会抛出异常“值对于Int32太大或太小”问题。使用Dapper.Contrib插入数据的时候,报错“值对于Int32太大或太小”,此时数据库......
  • 为什么不建议或不能用Executor去创建线程池?
    答:会存在内存溢出的风险。因为Executors中的核心方法,默认创建线程池的最大线程数是Integer.MAX_VALUE即int类型的最大值2^32-1,最大线程数允许这么多,几乎相当于不限制线程数,而这样的后果就是,如果瞬间请求量非常大,如果达到这个上限,没有任何服务器能够继续工作,肯定会抛出OOM异常。Ex......
  • CentOS8安装Docker报错问题解决
    问题描述CentOS版本:8.5.2111。#cat/etc/redhat-releaseCentOSLinuxrelease8.5.2111安装准备:#安装所需软件包sudoyuminstall-yyum-utilsdevice-mapper-persistent-datalvm2#设置docker仓库:推荐阿里云sudoyum-config-manager--add-repohttp://mirrors.al......
  • nvidia-docker启动容器报错 Unknown runtime specified nvidia
    使用nvidia-docker创建容器时报错:Errorresponsefromdaemon:Unknownruntimespecifiednvidia.See'dockerrun--help'.主要原因在于配置docker镜像时,daemon.json文件被修改了。只要添加对应内容即可。vim /etc/docker/daemon.json原文件:{"registry-mirr......