Cloudera CDH/CDP 및 Hadoop EcoSystem, Semantic IoT등의 개발/운영 기술을 정리합니다. gooper@gooper.com로 문의 주세요.
Hue Hue impala에서 query결과를 HDFS 파일로 export시 AuthorizationException: User 'gooper1234' does not have privileges to access: db명.query_impala_123456
Hue에서 query 수행 결과를 HDFS file로 export할때(All옵션 선택) 내부적으로 Hue에서 선택한 Database밑에 query-impala-123456 형태의 impala테이블을 생성하면서 지정된 HDFS폴더에 파일을 생성하여 export해준다.
이때 Hue에서 create권한이 없는 db를 선택하면 AuthorizationException: User 'gooper1234' does not have privileges to access: 선택된db명.query_impala_123456의 오류가 발생한다.
이때는 exportonly db를 만들고 이곳에 대한 all 권한을 gooper1234에게 부여해준다.
(grant all on database exportonly to role rl_gooper1234)
또한 export된 데이터를 저장할 HDFS폴더에 대한 URI권한을 gooper1234에 부여해 줘야 권한 오류없이 정상적으로 데이터가 저장되며 해당 폴더에 대한 소유자는 impala:gooper1234로 부여하고 권한은 770이상을 부여한다.
Sentry의 Admin Groups(sentry.service.admin.group)에 지정된 사용자나 "grant all on server..."형태로 권한을 부여받은 사용자는 기본적으로 클러스터내 모든 database및 URI에 대한 all권한이 있으므로 별도의 DB에 대한 all권한 부여 없이도 사용가능하다. (export 목적지 HDFS URI에 대한 권한은 write가능하게 조정할 필요가 있음)
server scope의 권한이 있는 Hue계정이라고 해도 될때 있고 안될때 있는것으로 보인다.
export전용 db를 만들고 이곳에 대한 all 권한을 부여해 주는것이 명확하고 문제 발생 소지를 없애는 방법이다.