티스토리 뷰

반응형

테이블을 생성하려고 했는데 아래와 같이 "HiveAccessControlException Permission denied" 오류가 발생하면서 CREATE 를 실패한다면, 권한관리를 위해서 ranger 를 사용하고 현재 유저는 해당 db 경로에 권한이 없기 때문에 나타나는 현상이다.

hive> create table if not exists info.t_user (
     ID             string comment '[K] 아이디'
    ,NAME           string comment '이름'
    ,AGE            int comment '나이'
    ,ADDRESS        string comment '주소'
)
comment '회원정보'
stored as ORC
tblproperties ("orc.compress"="ZLIB");

Error: Error while compiling statement: FAILED: HiveAccessControlException Permission denied: user [myUser] does not have [CREATE] privilege on [info/t_user] (state=42000,code=40000)

 

Ranger 로 권한관리 중?

권한관리를 안하면 모든 사람이 모든 테이블에 접근가능한 권한을 갖게 된다. 만약, 데이터 분석가가 메인 테이블을 drop 해버리는 일이 생긴다면 아찔할텐데 presto 나 아님 별도의 BI 도구로 제공하는게 아니고, hive 를 통으로 열어줘야한다면 사실 유저별 권한관리가 안되는 문제가 있었다.

 

하지만, Apache Ranger 가 나오면서 데이터 보안과 엑서스 제한을 하는것이 가능해졌다. 즉, 레인저를 통해 권한관리를 하면 위와같이 권한이 없는 유저가 해당 기능을 사용하려고 할때 위와 같은 오류가 발생된다. 그럴땐 아래와 같은 Ranger 관리페이지에서 해당 유저에게 권한을 추가해줘야한다.

 

ranger 의 권한 부여 페이지

특히 요즘엔 HDP, CDH 하둡패키지가 CDP 로 통합되었고, 이런 하둡패키지를 쓰면 세트템(?) 처럼 깔리다보니 이런 기능을 사용하다보면 종종 겪을수 있으니 참고하도록 하자.

반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함