zoukankan      html  css  js  c++  java
  • Hadoop on Mac with IntelliJ IDEA 2 解决URI错误导致Permission denied

    本文讲述在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中也有相应目录

    执行却提示

    上一张图表明我有访问权限,好,那就是说问题应该不在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);

    重新执行,结果如下

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

    基础决定高度 Du bist immer noch in meiner Welt Silva
  • 相关阅读:
    唤起支付宝的链接地址
    nginx 403 问题解决
    Mac终端生成RAS秘钥对
    nashPay项目遇到的问题
    redis.clients.jedis.exceptions.JedisDataException 解决方案
    Springboot集成Quartz实现分布式任务调度
    Archives版本mysql5.7.23数据库的安装
    Scala语言操作记录
    搭建wordpress个人博客之(2)安装wordpress
    搭建wordpress个人博客之(1)一键安装lnmp[lamp, lnamp]环境
  • 原文地址:https://www.cnblogs.com/michaellfx/p/3993532.html
Copyright © 2011-2022 走看看