MapReduce执行中遇到错误:路径访问被拒绝,如何解决?

2026-06-10 04:188阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计798个文字,预计阅读时间需要4分钟。

MapReduce执行中遇到错误:路径访问被拒绝,如何解决?

文章目录场景问题描述原因分析解决方案场景今天在编写MapReduce程序时,突然报错,无法找到指定的文件。

问题描述在执行MapReduce程序的最后阶段,程序报错,提示java.lang.Exception: java.io.FileNotFoundException: ...,表示找不到指定的文件。

原因分析可能的原因有以下几点:

1.指定的文件路径不正确。

2.文件在执行过程中被删除或移动。

3.文件权限问题,程序没有权限访问该文件。

解决方案

1.检查文件路径是否正确,确保路径无误。

2.确认文件未被删除或移动,如果已删除或移动,请重新创建或放置到正确的位置。

3.检查文件权限,确保程序有权限访问该文件。




文章目录

  • ​​场景​​
  • ​​问题描述​​
  • ​​原因分析​​
  • ​​解决方案​​

场景

  • 今天在编写MapReduce程序,最后运行的时候,突然报错了:​​java.lang.Exception: java.io.FileNotFoundException: G:\Projects\IdeaProject-C\MapReduce\src\main\java\第七章_MR扩展案例\data (拒绝访问。)​​,检查了好几遍,路径都没有问题。

​​返回顶部​​


问题描述

就是在这个Driver类中,设置输入输出文件路径

// 1.获取job对象
job = Job.getInstance(conf);
// 2.类的关联
job.setMapperClass(OneIndexMapper.class);
job.setReducerClass(OneIndexReducer.class);
job.setJarByClass(OneIndexDriver.class);
// 3.定义M、R阶段输出数据类型
job.setMapOutputKeyClass(Text.class);
job.setMapOutputValueClass(IntWritable.class);
job.setOutputKeyClass(Text.class);
job.setOutputValueClass(IntWritable.class);
// 4.指定输入输出路径
FileInputFormat.setInputPaths(job,new Path("G:\\Projects\\IdeaProject-C\\MapReduce\\src\\main\\java\\第七章_MR扩展案例"));
FileOutputFormat.setOutputPath(job,new Path("G:\\Projects\\IdeaProject-C\\MapReduce\\src\\main\\java\\第七章_MR扩展案例\\outpu1t"));
// 5.提交job
job.waitForCompletion(true);

​​返回顶部​​


原因分析

然后仔细看了看路径,发现在第七章包下有两部分,​​多job串联​​ 和 ​​数据文件​​,估计是​​G:\\Projects\\IdeaProject-C\\MapReduce\\src\\main\\java\\第七章_MR扩展案例​​ 认定了是目录,无法判断读取时选取那个文件进行读取。


​​返回顶部​​


解决方案

  • 在主目录下创建与多job串联同级目录,单独存放数据文件,​​直接读取data目录​​。
  • MapReduce执行中遇到错误:路径访问被拒绝,如何解决?

// 4.指定输入输出路径
FileInputFormat.setInputPaths(job,new Path("G:\\Projects\\IdeaProject-C\\MapReduce\\src\\main\\java\\第七章_MR扩展案例\\data"));
FileOutputFormat.setOutputPath(job,new Path("G:\\Projects\\IdeaProject-C\\MapReduce\\src\\main\\java\\第七章_MR扩展案例\\output"));
  • 最终也是成功运行了

​​返回顶部​​



本文共计798个文字,预计阅读时间需要4分钟。

MapReduce执行中遇到错误:路径访问被拒绝,如何解决?

文章目录场景问题描述原因分析解决方案场景今天在编写MapReduce程序时,突然报错,无法找到指定的文件。

问题描述在执行MapReduce程序的最后阶段,程序报错,提示java.lang.Exception: java.io.FileNotFoundException: ...,表示找不到指定的文件。

原因分析可能的原因有以下几点:

1.指定的文件路径不正确。

2.文件在执行过程中被删除或移动。

3.文件权限问题,程序没有权限访问该文件。

解决方案

1.检查文件路径是否正确,确保路径无误。

2.确认文件未被删除或移动,如果已删除或移动,请重新创建或放置到正确的位置。

3.检查文件权限,确保程序有权限访问该文件。




文章目录

  • ​​场景​​
  • ​​问题描述​​
  • ​​原因分析​​
  • ​​解决方案​​

场景

  • 今天在编写MapReduce程序,最后运行的时候,突然报错了:​​java.lang.Exception: java.io.FileNotFoundException: G:\Projects\IdeaProject-C\MapReduce\src\main\java\第七章_MR扩展案例\data (拒绝访问。)​​,检查了好几遍,路径都没有问题。

​​返回顶部​​


问题描述

就是在这个Driver类中,设置输入输出文件路径

// 1.获取job对象
job = Job.getInstance(conf);
// 2.类的关联
job.setMapperClass(OneIndexMapper.class);
job.setReducerClass(OneIndexReducer.class);
job.setJarByClass(OneIndexDriver.class);
// 3.定义M、R阶段输出数据类型
job.setMapOutputKeyClass(Text.class);
job.setMapOutputValueClass(IntWritable.class);
job.setOutputKeyClass(Text.class);
job.setOutputValueClass(IntWritable.class);
// 4.指定输入输出路径
FileInputFormat.setInputPaths(job,new Path("G:\\Projects\\IdeaProject-C\\MapReduce\\src\\main\\java\\第七章_MR扩展案例"));
FileOutputFormat.setOutputPath(job,new Path("G:\\Projects\\IdeaProject-C\\MapReduce\\src\\main\\java\\第七章_MR扩展案例\\outpu1t"));
// 5.提交job
job.waitForCompletion(true);

​​返回顶部​​


原因分析

然后仔细看了看路径,发现在第七章包下有两部分,​​多job串联​​ 和 ​​数据文件​​,估计是​​G:\\Projects\\IdeaProject-C\\MapReduce\\src\\main\\java\\第七章_MR扩展案例​​ 认定了是目录,无法判断读取时选取那个文件进行读取。


​​返回顶部​​


解决方案

  • 在主目录下创建与多job串联同级目录,单独存放数据文件,​​直接读取data目录​​。
  • MapReduce执行中遇到错误:路径访问被拒绝,如何解决?

// 4.指定输入输出路径
FileInputFormat.setInputPaths(job,new Path("G:\\Projects\\IdeaProject-C\\MapReduce\\src\\main\\java\\第七章_MR扩展案例\\data"));
FileOutputFormat.setOutputPath(job,new Path("G:\\Projects\\IdeaProject-C\\MapReduce\\src\\main\\java\\第七章_MR扩展案例\\output"));
  • 最终也是成功运行了

​​返回顶部​​