java.io.FileNotFoundException: /home/hadoop/djcdd/part-* (No such f)错误解决方案

本文介绍了使用BufferedReader读取文件时遇到的路径错误问题及解决方案。当使用通配符路径时,如part-*, 会导致错误发生。解决办法是将路径指定到具体的文件名,例如part-00000。

在用BufferedReader读取文件的时候,我的文件路径是: 

String path0 = "//home//hadoop//datasouce//mllib//hightrain//timeseries//djcdd//part-*";

这种形式,就会报错。解决方案是具体到某个文件,即:

 String path0 = "//home//hadoop//datasouce//mllib//hightrain//timeseries//djcdd//part-00000";即可

在 Windows 环境下运行 Hadoop 时,出现 `java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset` 错误通常是因为系统未能正确识别 Hadoop 的安装路径。Hadoop 依赖本地库(如 `hadoop.dll`)来执行某些操作,而这些库需要通过环境变量和文件配置来定位。 ### 解决方案 #### 1. 下载并配置 Hadoop for Windows Windows 平台不原生支持 Hadoop 所需的本地组件,因此需要手动下载适用于 Windows 的 Hadoop 工具包(例如 `winutils.exe` 和 `hadoop.dll`)。可以按照以下步骤操作: - **下载**:从 GitHub 或其他可信源获取与你使用的 Hadoop 版本对应的 Windows 二进制文件。 - **解压**:将下载的文件解压到一个固定目录,例如 `C:\hadoop`。 - **设置环境变量**- 新建或修改系统环境变量 `HADOOP_HOME`,将其指向解压目录,例如 `C:\hadoop`。 - 在 `Path` 环境变量中添加 `%HADOOP_HOME%\bin`,以确保系统能够找到 `winutils.exe` 和其他相关可执行文件。 #### 2. 配置 `hadoop.home.dir` 除了 `HADOOP_HOME`,Java 应用程序还会查找 JVM 参数 `-Dhadoop.home.dir` 来确定 Hadoop 的根目录。如果你在 IDE(如 IntelliJ IDEA)中运行程序,可以在 VM options 中添加如下参数: ```bash -Dhadoop.home.dir=C:/hadoop ``` 也可以通过代码方式设置该属性: ```java System.setProperty("hadoop.home.dir", "C:\\hadoop"); ``` #### 3. 安装 `hadoop.dll` Hadoop 的某些功能在 Windows 上运行时需要依赖 `hadoop.dll` 文件。请将该文件复制到系统的 `C:\Windows\System32` 目录下,或者将其所在目录添加到 `PATH` 环境变量中。 #### 4. 验证配置 完成上述配置后,重启命令行工具或 IDE,并尝试重新运行你的 Hadoop 程序。如果仍然遇到问题,可以通过以下命令验证环境是否配置成功: ```bash hadoop version ``` 若能正确显示 Hadoop 版本信息,则说明环境变量配置成功。 --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值