2014-02-25 2 views
0

파일 사용 권한을 변경하고 싶지만이 오류가 있습니다.Hdfs 파일 사용 권한

하둡 버전 : 1.0.3

넷빈즈 IDE 7.4

JDK = 7u45

자바 코드 :

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) 

어떻게 c 내가 고칠 수 있니?

+1

Path()에서 사용한 "file"을 비롯한 코드 행을 추가로 지정하십시오. –

+0

오류 메시지는 사용자가 setPermission 메소드에 잘못된 "경로"를 지정했을 가능성이 있음을 나타냅니다. –

+0

파일 경로 = /user/furkanb/test.txt – furkanbhcc

답변

3

솔루션 :

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

허락 = 유닉스 권한 코드, 예 = drwxr-x--을 x

1

버전 불일치 문제가있는 것으로 보입니다. 이 오류는 Hadoop 시스템의 버전과 클라이언트 버전이 다른 경우 발생할 수 있습니다. 당신은 메이븐을 사용하는 경우

, 당신은 아래의 pom.xml을 업데이트 할 수 있습니다

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