我想更改文件权限,但涉及此错误。
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)
我该如何解决?
答案 0 :(得分:4)
解决方案:
fileSystem.setPermission(fileStatus.getPath(), FsPermission.valueOf(permission));
permission = unix权限代码, 例子= drwxr-x - x
答案 1 :(得分:1)
您似乎遇到版本不匹配问题。当Hadoop计算机上的版本与您的客户端版本不同时,可能会发生此错误。
如果您使用的是Maven,可以按如下方式更新pom.xml:
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
<version>1.0.3</version>
</dependency>