주키퍼는 주키퍼 클러스터와 관련된 정보들을 조회할 수 있도록 몇 가지 유용한 명령어들을 제공한다. 이 명령어들은 알파벳 4글자로 구성되어 있어 '4 letter words' 명령어라고 부른다.
4 letter words 명령어 사용법
주키퍼의 '4 letter word' 명령어는 telnet이나 nc 명령을 주키퍼의 클라이언트 포트로 전송해서 사용할 수 있다.
$ echo srvr | nc localhost 2181
Zookeeper version: 3.7.0-e3704b390a6697bfdf4b0bef79e3da7a4f6bac4b, built on 2021-03-17 09:46 UTC
Latency min/avg/max: 0/0.0/0
Received: 1
Sent: 0
Connections: 1
Outstanding: 0
Zxid: 0x0
Mode: standalone
Node count: 5
이런식으로 nc 명령으로 localhost에 떠있는 주키퍼의 2181 포트에 4 letter words 명령을 전송하면 된다.
버전에 따라 다르지만 기본적으로 4-letter-word
명령어는 활성화되어 있지 않다. 따라서 주키퍼를 구동할 때, 화이트리스트에 허용할 4 letter word 커맨드를 설정해야한다.
zookeeper.properties 파일에 4lw.commands.whitelist
설정값으로 써주면 된다.
4lw.commands.whitelist=*
이렇게 써두면 모든 4 letter word 커맨드가 활성화된다. 이 경우 주키퍼의 사용 패턴에 따라 원하지 않는 정보가 새어 나갈 수도 있다. (dump 명령 등으로...)
따라서 일부 명령만 허용하도록 설정 할 수도 있다.
4lw.commands.whitelist=stat, ruok, conf
4 letter words 명령어
명령어 | |
stat | 서버와 클라이언트 연결에 대한 간략한 정보 조회 |
srvr | 서버에 대한 상세 정보 조회 |
cons | 해당 서버로 연결된 모든 클라이언트 연결과 세션에 대한 상세 정보 조회 (주고 받은 패킷과 세션ID, 레이턴시와 마지막으로 수행된 연산 등 조회가능) |
conf | 서버의 설정 값을 조회 |
crst | 모든 연결에 대한 통계정보 조회 |
dump | 임시노드(Ephemeral Node)와 Outstanding 세션 정보 조회. 리더 주키퍼에서만 사용 가능 |
envi | 서버의 환경 정보 |
ruok | 주키퍼 서버가 제대로 동작하고 있는지 확인 정상동작한다면 "Imok", 그렇지 않으면 응답을 안함 단, 응답을 한다고 주키퍼 쿼럼에 속해있다는 뜻은 아님 |
srst | 서버의 통계 정보를 초기화 |
wchs | 서버의 워치(watch)에 대한 간략한 정보 조회 |
wchc | 서버의 워치(watch)에 대한 자세한 정보들 조회 (by session) |
wchp | 서버의 워치(watch)에 대한 자세한 정보들 조회 (by path) |
dirs | 스냅샷과 로그 파일의 총 사이즈 |
mntr | 클러스터의 헬스모니터링을 위해 사용되는 변수들 조회. 정보들은 시간에 따라 바뀔 수 있음 |
isro | 서버가 읽기 전용 모드인지 확인. 읽기 전용 모드라면 "ro" 아니라면 "rw"로 응답 |
gtmk | 현재 트레이스 마스크 정보를 출력. |
stmk | 현재 트레이스 마스크 정보를 설정. 트레이스 마스크에 따라서 서버의 동작중 트레이스 로그로 남길 정보들이 활성화 혹은 비활성화된다. 트레이스 마스크는 다음 의미로 사용된다. 0b0000000000 : 사용안됨, 추후 사용예정 0b0000000010 : 핑 요청을 제외한 클라이언트 요청을 로깅 0b0000000100 : 사용안됨, 추후 사용예정 0b0000001000 : 클라이언트의 핑 요청을 로깅 0b0000010000 : 핑 요청을 제외한 Quorum의 리더로부터 받은 요청들을 로깅 0b0000100000 : 클라이언트 세션의 추가, 제거, 검증을 로깅 0b0001000000 : 클라이언트 세션의 워치 이벤트의 전달을 로깅 0b0010000000 : Quorum 리더로부터의 핑 요청을 로깅 0b0100000000 : 사용안됨, 추후 사용예정 0b1000000000 : 사용안됨, 추후 사용예정 |
댓글