MapReduce执行中遇到错误:路径访问被拒绝,如何解决?
- 内容介绍
- 文章标签
- 相关推荐
本文共计798个文字,预计阅读时间需要4分钟。
文章目录场景问题描述原因分析解决方案场景今天在编写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目录。
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程序的最后阶段,程序报错,提示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目录。
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"));
- 最终也是成功运行了
返回顶部

