2021년 1월 2일 토요일

[ Zookeeper ] CLI명령어와 ACL


[ CLI 명령어 ]


zookeeper/bin/zkCli.sh에서 CLI 접속


create /znode "first-app"

ls /znode

get /znode

set /znode "date-updated"

rmr /znode  




[ ACL (Action Control List) ]


znode접근시 Authentication is not valid : /znode-ex 라는 메세지가 뜬다면

인증권한을 확인할 필요가 있다.


ACL은 znode에 액세스 하기위한 인증제어이며

5가지의 종류로 구분된다.

  • CREATE - 생성
  • READ - 읽기 
  • WRITE - 쓰기
  • DELETE - 삭제
  • ADMIN - 위4가지 권한 부여


ls -l 명령어로 확인할 수 있는 리눅스 파일권한 스키마(user:group:others)와는 달리 아래 4가지로 권한을 부여한다.

  • WORLD - 모든 요청 
  • AUTH - 인증된 세션
  • DIGEST - username/password로 인증된 요청
  • IP - 해당 ip요청



[ 조작 명령어 ]

getAcl /znode 결과-> world/anyone/crdwa (c : create, r :read ... )


DIGEST로 인증설정

addauth digest [username]:[password]

setAcl /znode auth:[username]:[password]:crdwa


호스트네임으로 인증설정

setAcl /znode host:[hostname]:crdwa


IP주소로 인증설정

setAcl /znoe ip:[IpAdressIPv4]:crdwa




[ Cloudera Manager ACL ]

znode인증설정을 풀어서 작업을 해야 할 경우 일일히 바꿀수 없기에 

CDH에서는 ACL을 모두 무시하고 접근가능하게 설정 할 수 있다.  


CM -> ZooKeeper -> Configuration 페이지 -> Java Configuration Options for Zookeeper Server에서 아래텍스트를 입력 후 Restart.

-Dzookeeper.skipACL=true


또는 

znode의 모든 권한을 갖는 superDigest 계정을 설정하는 방법도 있다.




참조 :

https://www.mynotes.kr/zookeeper-aclaction-control-list-%EC%84%A4%EC%A0%95/

댓글 없음:

댓글 쓰기