본문
Kafka Manager (CMAK)
A. Kafka Manager (CMAK) 소개
CMAK; Cluster Manager for Apache Kafka, previously known as Kafka Manager
Kafka Manager는 yahoo에서 제작한 GUI 기반 카프카 관리 도구로, 웹 환경에서 클러스터, 토픽 등의 생성 및 변경, consumer group 확인 등의 작업을 웹 환경에서 확인하고 진행할 수 있다. 사실 CLI 환경에서도 Kafka를 관리할 수 있으나 편의적인 측면에서 많은 기업들이 kafka-manager 를 도입하여 운용중이다.
💡 주요기능
a) Kafka Cluster 관리(모니터링)
b) Consumer Lag 관리(모니터링)
c) 파티션 Rebalance: 파티션 추가
d) 토픽 관리: 리스트 조회, 생성&삭제
+Details: https://github.com/yahoo/CMAK#deployment
B. Kafka Manager 설치
Requirements
a) Kafka 0.8.. or 0.9.. or 0.10.. or 0.11.. (http://kafka.apache.org/downloads.html)
b) java 11+, java 환경변수(JAVA_HOME)가 등록되어 있어야한다
1. 소스 다운로드
브랜치로 빌드를 하면 가끔 안되는 경우도 있으니 가급적 release 버전을 활용하도록 한다.
- URL: https://github.com/yahoo/CMAK/releases
2. 압축해제
다운을 받아 적당한 곳에 압축을 풀어 놓은 뒤 해당 디렉토리로 이동한다.
wget https://github.com/yahoo/kafka-manager/archive/1.3.3.18.tar.gz
tar -zxvf 1.3.3.18.tar.gz
cd CMAK-1.3.3.23
3. 빌드
이후 sbt(Simple Build Tool)를 이용하여 빌드한다 (생각보다 오랜시간이 소요된다)
./sbt clean dist
- sbt 설치: https://jdm.kr/blog/90
4. 환경설정
conf/application.conf 설정파일에 zookeeper 호스트 주소(kafka-manager.zkhosts)를 설정한다.
...
#kafka-manager.zkhosts="kafka-manager-zookeeper:2181"
kafka-manager.zkhosts="192.168.7.17:2181,192.168.7.18:2181,192.168.7.52:2181"
kafka-manager.zkhosts=${?ZK_HOSTS}
...
5. 실행
./sbt run
- 데몬등록
a) https://cyuu.tistory.com/151
b) https://louisdev.tistory.com/12
6. 클러스터 등록 및 모니터링
run으로 실행하면 application.conf와 9000 포트로 접근하는 기본 세팅으로 실행된다.
a) http://localhost:9000/접속 → Add Cluster
b) Cluster 생성
💡 JMX_PORT
아래와 같이 kafka-server-start.sh 파일에 export JMX_PORT=9999 추가
C. CMAK 주요기능
1. Cluster Management
2. Topic List
3. Topic View
4. Consumer List View
5. Consumed Topic View - kafka lag 모니터링
6. Broker List
7. Broker View
💡 참고
https://log-laboratory.tistory.com/180
https://github.com/yahoo/CMAK#deployment
https://louisdev.tistory.com/12
https://program-error-review.tistory.com/27
댓글