2012-08-28 8 views
0

hdfs URI를 사용하여 HDFS 파일 시스템에 액세스해야하는 Java 모듈을 작성하고 있습니다. 모듈을 실행할 사용자는 namenode 및 datanode를 시작한 사용자와 다를 수 있습니다.다른 사용자 이름을 사용하여 HDFS에 액세스

또한 java 모듈과 hadoop 클러스터가 별도의 시스템에서 실행될 수도 있습니다.

내가 직면하는 문제는 FileSystem 객체를 사용하여 hdfs에 액세스하려고 할 때 FS 객체에 액세스하는 데 사용되는 사용자 이름이 java 모듈을 실행하는 로컬 사용자입니다.

제 질문은 namenode 및 datanode 인스턴스를 시작한 동일한 사용자 이름을 사용하여 HDFS에 대한 액세스를 강제 적용하는 방법입니다.

user.name 시스템 속성을 설정하려고했지만 작동하지 않습니다. 클라이언트 코드가이 명령을 사용하여 사용자 이름을 가져올 때 내 Java 모듈이 실행중인 시스템에 whoami 구현을 넣을 위치를 몇 군데 읽었습니다.

이것을 달성 할 수있는 다른 방법이 있는지 알고 싶습니다.

감사 Sajal는

+0

whathaveyoutried.com? 정확히 어디에서 붙어 있니? – ant

답변

0

자바 프로그램의 경우 이후 CDH3 또는 1.x에서에서 사용할 수있는 Secure Impersonation 기능을 사용할 수 있습니다.

관련 문제