Kafka 완전 정복 : 클러스터 구축부터 MSA 환경 활용까지/클러스터 구축부터 MSA 환경에서 활용까지

Ch01. Kafka 설치와 설정 - Kafka 운영해 보기(AKHQ)

webmaster 2023. 4. 16. 01:07
728x90

# kafka topic 생성

./kafka-topics --bootstrap-server localhost:19092 --create --topic fastcampus --partitions 20 --replication-factor 3

# kafka에 생성된 토픽 리스트 확인

./kafka-topics --bootstrap-server localhost:19092 --list

# 특정 토픽의 파티션 수, 리플리카 수 등의 상세정보 확인

./kafka-topics --describe --bootstrap-server localhost:19092 --topic fastcampus

# kafka 콘솔 컨슈머 실행

./kafka-console-consumer --bootstrap-server localhost:19092 --topic fastcampus --from-beginning

# kafka 콘솔 프로듀서 실행

./kafka-console-producer --bootstrap-server localhost:19092 --topic fastcampus

 

카프카는 제공해 주는 기능에 비해 GUI가 좋지 않기 때문에 CMAK를 사용하여 확인한다.

https://github.com/yahoo/CMAK

 

GitHub - yahoo/CMAK: CMAK is a tool for managing Apache Kafka clusters

CMAK is a tool for managing Apache Kafka clusters. Contribute to yahoo/CMAK development by creating an account on GitHub.

github.com

->  오랫동안 릴리즈 되지 않았기 때문에 현재는 사용하지 않고 AKHQ를 사용한다.

https://github.com/tchiotludo/akhq

 

GitHub - tchiotludo/akhq: Kafka GUI for Apache Kafka to manage topics, topics data, consumers group, schema registry, connect an

Kafka GUI for Apache Kafka to manage topics, topics data, consumers group, schema registry, connect and more... - GitHub - tchiotludo/akhq: Kafka GUI for Apache Kafka to manage topics, topics data,...

github.com

AKHQ 사용하기

docker compose -f docker-compose-akhq.yml
  • akhq 설정을 추가된 yml 파일을 실행하면 된다.

localhost:8080으로 접속하게 된다면 gui 화면이 노출되는 것을 볼 수 있다.

1) 토픽 생성하기

토픽을 생성후, kafka-console-producer를 통해 메시지를 전달할 수 있다.

./kafka-console-producer --bootstrap-server localhost:19092 --topic fastcampus

2) Consumer Group 설정하기

./kafka-console-consumer --bootstrap-server localhost:19092 --topic fastcampus --group fastcampus_group --from-beginning
  • consumer group을 kafka-console-consumer를 통해 만들어보면 Cusumer group 탭에서 확인할 수 있다.

3) 토픽 삭제하기

  • 휴지통 모양을 버튼을 눌러 토픽을 삭제할 수 있다.

4) Live Tail

특정 프로듀서에 마지막 로그를 간단하게 확인할 수 있다.

./kafka-console-producer --bootstrap-server localhost:19092 --topic fastcampus
  • console-producer를 통해 메시지를 보내면 마지막 로그가 찍히는 것을 확인이 가능하다.

  • Produce 생성도 손쉽게 할 수 있다.

5) Settings

  • 토픽을 어디까지 보여줄지, 정렬을 어떻게 할지 등 설정을 쉽게 할 수 있다.
728x90