码迷,mamicode.com
首页 > 其他好文 > 详细

Hadoop on Mac with IntelliJ IDEA - 2 解决URI错误导致Permission denied

时间:2014-09-25 23:01:38      阅读:144      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   http   color   io   os   使用   java   

本文讲述在IntelliJ IDEA中使用FileSystem.copyFromLocalFile操作Hadoop时因URI格式有误导致Permission denied的解决过程。

环境:Mac OS X 10.9.5, IntelliJ IDEA 13.1.4, Hadoop 1.2.1

Hadoop放在虚拟机中,宿主机通过SSH连接,IDE和数据文件在宿主机。

操作代码如下

 1 public class CopyFromLocalTestDriver {
 2     public static void main(String[] args) {
 3         Configuration configuration = new Configuration();
 4         try {
 5             FileSystem fileSystem = FileSystem.get(new URI("hadoopalice"), configuration);
 6 
 7             Path dst = new Path("/d1/");
 8             Path src = new Path("/Users/michael/Desktop/Hadoop/Books/EasyHadoop实战手册.doc");
 9 
10             fileSystem.copyFromLocalFile(src, dst);
11 
12             boolean exists = fileSystem.exists(new Path("/d1/EasyHadoop实战手册.doc"));
13             System.out.println("FILE EasyHadoop实战手册.doc EXISTS STATUS: " + exists);
14         } catch (IOException e) {
15             e.printStackTrace();
16         } catch (URISyntaxException e) {
17             e.printStackTrace();
18         }
19     }
20 }

Hadoop中也有相应目录

bubuko.com,布布扣

执行却提示

bubuko.com,布布扣

嗯,你欺负我是小白,一定是。上一张图说了我是有访问权限的。

好,那就是说问题应该不在hadoop上,那就再检查下代码吧。

代码第5行,构造URI时,似乎并不符合URI规则。据Elliotte Rusty Harold. Java Network Programming 3rd Edition第七章的”URI的各部分“一节

URI引用包括多达三个部分:模式、模式特有部分和片段标识符。一般格式为:

  scheme:scheme-specific-part:fragment

对比第5行FileSystem fileSystem = FileSystem.get(new URI("hadoopalice"), configuration);少了模式部分,则它是个相对URI。方便起见,加上模式,简单粗暴地解决这个问题,继续后面的学习。

  FileSystem fileSystem = FileSystem.get(new URI("hdfs://hadoopalice:9000"), configuration);

重新执行,结果如下

bubuko.com,布布扣

查询hadoop,发现文件确实提交了。

bubuko.com,布布扣

 

Hadoop on Mac with IntelliJ IDEA - 2 解决URI错误导致Permission denied

标签:des   style   blog   http   color   io   os   使用   java   

原文地址:http://www.cnblogs.com/michaellfx/p/3993532.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!