IDEA本地运行Spark程序报错:HADOOP_HOME and hadoop.home.dir are unset. 解决方法

news/2025/2/14 4:16:18/文章来源:https://www.cnblogs.com/FengZeng666/p/18578332

报错信息

java.lang.RuntimeException: java.io.FileNotFoundException: java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset. -see https://wiki.apache.org/hadoop/WindowsProblemsat org.apache.hadoop.util.Shell.getWinUtilsPath(Shell.java:737)at org.apache.hadoop.util.Shell.getSetPermissionCommand(Shell.java:272)at org.apache.hadoop.util.Shell.getSetPermissionCommand(Shell.java:288)at org.apache.hadoop.fs.RawLocalFileSystem.setPermission(RawLocalFileSystem.java:840)at org.apache.hadoop.fs.RawLocalFileSystem$LocalFSFileOutputStream.<init>(RawLocalFileSystem.java:239)at org.apache.hadoop.fs.RawLocalFileSystem$LocalFSFileOutputStream.<init>(RawLocalFileSystem.java:219)at org.apache.hadoop.fs.RawLocalFileSystem.createOutputStreamWithMode(RawLocalFileSystem.java:318)at org.apache.hadoop.fs.RawLocalFileSystem.create(RawLocalFileSystem.java:307)at org.apache.hadoop.fs.RawLocalFileSystem.create(RawLocalFileSystem.java:338)at org.apache.hadoop.fs.ChecksumFileSystem$ChecksumFSOutputSummer.<init>(ChecksumFileSystem.java:401)at org.apache.hadoop.fs.ChecksumFileSystem.create(ChecksumFileSystem.java:464)at org.apache.hadoop.fs.ChecksumFileSystem.create(ChecksumFileSystem.java:443)at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:1118)at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:1098)at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:987)at org.apache.hadoop.fs.FileUtil.copy(FileUtil.java:414)at org.apache.hadoop.fs.FileUtil.copy(FileUtil.java:387)at org.apache.hadoop.fs.FileUtil.copy(FileUtil.java:337)at org.apache.hadoop.fs.FileSystem.copyToLocalFile(FileSystem.java:2434)at org.apache.hadoop.fs.FileSystem.copyToLocalFile(FileSystem.java:2403)at org.apache.hadoop.fs.FileSystem.copyToLocalFile(FileSystem.java:2379)at cn.itcast.hdfs.HDFSClientTest.getFile2Local(HDFSClientTest.java:71)at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.base/java.lang.reflect.Method.invoke(Method.java:564)at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)at org.junit.runners.ParentRunner.run(ParentRunner.java:413)at org.junit.runner.JUnitCore.run(JUnitCore.java:137)at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:230)at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:58)
Caused by: java.io.FileNotFoundException: java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset. -see https://wiki.apache.org/hadoop/WindowsProblemsat org.apache.hadoop.util.Shell.fileNotFoundException(Shell.java:549)at org.apache.hadoop.util.Shell.getHadoopHomeDir(Shell.java:570)at org.apache.hadoop.util.Shell.getQualifiedBin(Shell.java:593)at org.apache.hadoop.util.Shell.<clinit>(Shell.java:690)at org.apache.hadoop.util.StringUtils.<clinit>(StringUtils.java:78)at org.apache.hadoop.fs.FileSystem$Cache$Key.<init>(FileSystem.java:3482)at org.apache.hadoop.fs.FileSystem$Cache$Key.<init>(FileSystem.java:3477)at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:3319)at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:479)at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:227)at cn.itcast.hdfs.HDFSClientTest.connect2HDFS(HDFSClientTest.java:31)at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.base/java.lang.reflect.Method.invoke(Method.java:564)at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)at org.junit.internal.runners.statements.RunBefores.invokeMethod(RunBefores.java:33)at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24)... 18 more
Caused by: java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset.at org.apache.hadoop.util.Shell.checkHadoopHomeInner(Shell.java:469)at org.apache.hadoop.util.Shell.checkHadoopHome(Shell.java:440)at org.apache.hadoop.util.Shell.<clinit>(Shell.java:517)... 34 more

解决方法

  1. 下载 winutils
    github: https://github.com/cdarlint/winutils
    gitee:https://gitee.com/yixiangtiankai361/winutils

我这里下载的是:hadoop-3.3.5
保存到了:D:\Programs\opt
image

  1. 配置环境变量

image

Path里面添加:
image

  1. 重启IDEA即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/844125.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

纯js轻量级图片放大显示插件

在线演示 下载 lightense-images是一款可以将缩略图片在屏幕中间放大显示的纯JS插件。该图片放大插件的效果类似于Medium.com上的图片放大预览效果。它的特点有:轻量级,压缩后的版本仅2KB。 点击缩略图后,以lightbox的方式来显示放大图片。 可以自定义背景遮罩层的颜色和透…

Air780E低功耗模组的LuatOS开发:位运算(bit)示例教程!

本文讲述的是低功耗4G模组Air780E的LuatOS开发,关于位运算(bit)的示例教程,希望大家有所收获。本文讲述的是低功耗4G模组Air780E的LuatOS开发,关于位运算(bit)的示例教程,希望大家有所收获。 一、位运算概述 位运算是一种在计算机系统中对二进制数位进行操作的运算。由于…

【安全运营】当监管要一份网络安全总结报告

经常遇到上级要一份网络安全总结报告的情形,以下举例的格式是比较常见的一种,供大家参考。 网络安全检查总结报告例子 一、报告名称 XXX限公司2024年网络安全检查总结报告。 二、检查总结报告组成 (一)网络安全检查工作组织开展情况(根据公司的管理文件) 我司高度重视网络…

USB无法识别设备?USB驱动问题解析篇

今天我们来讲解的是USB驱动问题,连接USB无法识别模组设备,是不是驱动问题?今天就一起来聊聊如何排查解决。今天我们来讲解的是USB驱动问题,连接USB无法识别模组设备,是不是驱动问题?今天就一起来聊聊如何排查解决。 注意:本文涉及的内容都是基于Windows系统,且不低于Wi…

fallingsnow.js-jquery下雪动画特效

fallingsnow.js是一款小巧的jquery下雪动画特效插件。该jquery下雪动画特效兼容ie8浏览器,它会控制雪花的飘落速度,雪花的尺寸越小,下落的速度越慢,可以制作出雪花飞舞的视觉差效果。在线演示 下载使用方法 在页面中引入jquery.fallingsnow.css和jquery、jquery.fallingsn…

asp.net mvc视图传递数据至另一页的视图

由于简篇,C# mvc +axios + web api + javascript 这里只是简单一笔带过。如果操作,看如下截图 可以写一个javascript函数, 具体如何传,代码如何写?参考博文前链接内的DetailButton_EventListener(data)函数的写法。 把数据传至MVC 的控制器中,让控制器来处理。 在此数据处…

AI让照片跳舞,人人都能是舞王!Swan下载介绍

最近,兵马俑、马斯克以及各地网友跳科目三和网红舞的视频陆续在社交媒体和朋友圈刷屏,这些大约10秒左右的视频都不是真人出镜,均由大模型生成,这种低门槛的跳舞方式引发了网友的广泛体验,掀起了一波斗舞狂潮「AI治愈了我的四肢不协调」Swan是一款使用扩散模型实现的时域一…

D触发器

一、D触发器原理D触发器(data flip-flop)也称为维持-阻塞边沿D触发器,由六个与非门组成,其电路图及其逻辑符号如下图所示。其中G1和G2构成基本的RS触发器,G3和G4构成时钟控制电路,G5和G6组成数据输入电路。 二、D触发器原理- -钟控D触发器在分析维持-阻塞边沿D触发器的工作…

idea 2024.2切换到旧版的UI

安装官方的 Classic UI 插件。 步骤:File -> Settings -> Plugins ,搜索 Classic UI 安装即可。

基于Ubuntu2410搭建openstack-D版

@目录初始化环境安装数据库、memcahe、rabbitmq等服务安装keystone服务安装glance服务安装placement服务安装nova服务安装neutron服务安装horizon服务启动云主机 本次实验使用单节点搭建,Ubuntu2410系统:搭建openstack-D版,采用ovs网络组件,最终创建云主机,并实现远程连接…

快速安装 Qt 的各种方法

1 在 Windows 下快速安装 Qt 由于QT的服务器在国外,而国内通国外的网络往往不够流畅,因此在下载QT时我们经常会出现下载中断的问题。一个好的解决办法是在安装程序时替换下载源,下面我以中科大源为例子,替换QT的下载源。 1.1 下载 Qt 安装器 首先点击 download-open-source…

Typora配置导出word

下载“pandoc”,解压文件,配置路径即可。下载连接: 阿里云盘 https://www.alipan.com/s/YDaia5u8MRs 提取码: 67ur