AWS MKS (managed kafka) 를 쓰고있다.
Terraform 으로 토픽 생성 등이 관리되고 있는데, 요청한대로 만들어졌는지 확인하기 어려웠다.
kafkactl 툴을 소개받았는데, kafkacli 보다 유용한 점이 많아서 정리해 본다.
아래영상을 보면 알겠지만 context 를 변경 한다던지, 자동완성이라던지 기능이 편리하다. (bootstrap 입력 안하는것만 해도 엄청나다)
좀더 자세한 사항은 공식 github 참고.
sentOS 기반 인스턴스인데, yum 설치가 잘 안돼서 그냥 pre-compiled bianary 를 다운받았다. (가능하면 brew나 yum 같은 패키지관리자로 설치하자)
$ cd ~/
$ mkdir temp
$ cd temp
$ wget https://github.com/deviceinsight/kafkactl/releases/download/v2.5.0/kafkactl_2.5.0_linux_386.tar.gz
$ tar xvf {.tar}
./kafkactl 실행파일이 보이지만, 실행전에 context 등 미리 config 를 설정해둬야 한다.
$ vi ~/.config/kafkactl/config.yml
config.yml 파일 수정 한다. (없으면 만들면 된다)
contexts:
default:
brokers:
- localhost:9092
dev1-cluster:
brokers:
- b-3.~~:9092
- b-2.~~:9092
- b-1.~~:9092
prod:
brokers:
- b-3.~~:9092
- b-2.~~:9092
- b-1.~~:9092
current-context: prod
여러 컨텍스트를 미리 저장해두고 스위칭할수있는게 장점이다.
토픽에 replica 라던지 정보를 확인하고 싶으면 다음 명령어를 수행한다.
$ ./kafkactl describe topic {topic name}
실행 결과
PARTITION OLDEST_OFFSET NEWEST_OFFSET EMPTY LEADER REPLICAS IN_SYNC_REPLICAS
0 0 0 true b-1.~~:9092 1,2,3 1,2,3
1 0 0 true b-3.~~:9092 1,2,3 1,2,3
2 0 0 true b-2.~~:9092 1,2,3 1,2,3