【问题标题】:Hdfs file permissionhdfs文件权限
【发布时间】:2014-02-25 15:24:44
【问题描述】:

我想更改文件权限,但涉及此错误。

Hadoop 版本:1.0.3

Netbeans IDE 7.4

JDK = 7u45

Java 代码:

    Configuration conf = new Configuration();
    conf.addResource(new Path("/home/furkanb/hadoop-1.0.3/conf/core-site.xml"));
    conf.addResource(new Path("/home/furkanb/hadoop-1.0.3/conf/hdfs-site.xml"));
    FileSystem fileSystem = FileSystem.get(conf);

    ......

    fileSystem.setPermission(new Path(file), FsPermission.createImmutable((short) 0777));

    fileSystem.close();

我遇到错误:

Exception in thread "main" java.io.IOException: Call to /127.0.0.1:9000 failed on local exception: java.io.EOFException
    at org.apache.hadoop.ipc.Client.wrapException(Client.java:1107)
    at org.apache.hadoop.ipc.Client.call(Client.java:1075)
    at org.apache.hadoop.ipc.RPC$Invoker.invoke(RPC.java:225)
    at com.sun.proxy.$Proxy1.setPermission(Unknown Source)

我该如何解决?

【问题讨论】:

  • 提供更多代码行,包括您在 Path() 中使用的“文件”。
  • 错误信息表明您可能给 setPermission 方法提供了错误的“路径”。
  • 文件路径 = /user/furkanb/test.txt

标签: java file hadoop permissions hdfs


【解决方案1】:

解决方案:

fileSystem.setPermission(fileStatus.getPath(), FsPermission.valueOf(permission));

permission = unix 权限代码, 例如 = drwxr-x--x

【讨论】:

    【解决方案2】:

    您似乎遇到了版本不匹配的问题。当 Hadoop 机器上的版本和您的客户端版本不同时,可能会发生此错误。

    如果你使用 Maven,你可以更新你的 pom.xml 如下:

    <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-client</artifactId>
        <version>1.0.3</version>
    </dependency>
    

    【讨论】:

      猜你喜欢
      • 2012-09-27
      • 2020-12-11
      • 2012-07-20
      • 2015-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多