Apache Kafka 에는 기본 내장 UI 가 없지만 많은 사람들이 이용하고 있는 UI 가 있습니다.

Yahoo 에서 개발한 Kafka-Manager 인데요.

지금은 이름을 CMAK 으로 변경하여 프로젝트를 진행하고 있습니다.

 

모듈을 다운받아봅시다.

$ wget https://github.com/yahoo/kafka-manager/archive/master.zip

 

 

다운을 받으면 현재경로에 master.zip 이라는 파일이 생깁니다.

압축을 풀어줍시다.

 

$ unzip master.zip

 

 

zip 파일을 풀어주면 CMAK-master 라는 폴더가 생깁니다.

 

빌드를 위해 sbt 를 설치해줍시다.

$ curl https://bintray.com/sbt/rpm/rpm | sudo tee /etc/yum.repos.d/bintray-sbt-rpm.repo

$ yum install sbt

 

 

이제 CMAK-master 폴더에서 빌드를 해줍시다.

$ cd CMAK-master

$ ./sbt clean dist

 

해당 과정에서 에러를 만났는데 java 를 실행했을 때 버전을 확인해야합니다.

저는 default java 가 1.8.0 버전이였고

sbt 에서 강제로 openjdk 11 버전으로 변경해주니 실행이 됐습니다.

 

변경방법은 따로 정리해뒀습니다.

 

https://program-error-review.tistory.com/26

 

Kafka-Manager (CMAK) compile error ./sbt clean dist

Apacke Kafka 를 사용하다보면 UI 를 찾다가 Kafka-Manager 를 찾게됩니다. 해당 모듈을 빌드할 때 발생하는 오류에 대한 해결방법을 정리합니다. 환경 CentOS 8 Java 1.8.0 / openjdk 11 메뉴얼을 보면 kafka-man..

program-error-review.tistory.com

 

sbt 를 실행한 폴더하위 target 폴더에 빌드가 된 파일이 저장됩니다.

 

해당경로로 가서 압축을 풀어줍시다.

$ cd target/universal/

$ unzip cmak-3.0.0.4.zip

 

하위폴더로 cmak-3.0.0.4 라는 폴더가 생겼습니다.

해당 폴더 아래 conf 폴더의 application.conf 파일을 수정해줍시다.

 

수정할 부분은 cmak.zkhosts 와 kafka-manager.zkhosts 에 하드코딩된 도메인입니다.

 

kafka-manager.zkhosts="localhost:2181"

cmak.zkhosts="localhost:2181"

 

 

수정 후 cmak-3.0.0.4 경로로 돌아와서

$ bin/cmak

명령어로 cmak 실행.

 

빌드할 때 java 에러가 났던 분은 CMAK 페이지 접근 시 오류가 날 것입니다.

 

빌드할때와 동일하게

bin/cmak 파일을 수정해줍니다.

 

java 경로를 open jdk 11 버전 java 로 변경 후 실행!

 

localhost:9000 경로로 접근이 잘 되는 것을 확인할 수 있습니다.

 

 

 

경로가 불필요하게 길기 때문에 경로를 변경해줍시다.

$ cp -r cmak-3.0.0.4 /usr/local

$ mv cmak-3.0.0.k kafka-manager

 

폴더명도 지저분해서 kafka-manager 로 변경해줬습니다.

 

이제 Kafka Manager 를 서비스에 등록해서 실행해봅시다.

 

$ vi /usr/lib/systemd/system/kafka-manager.service

 

#!/bin/bash

[Unit]
 Description=Kafka manager
 After=network.target
 
[Service]
 User=root
 Group=root
 ExecStart=/bin/sh -c "/usr/local/kafka-manager/bin/cmak -Dconfig.file=/usr/local/kafka-manager/conf/application.conf -Dpidfile.path=/usr/local/kafka-manager/RUNNING_PID"
 ExecStop=/usr/local/kafka-manager/bin/cmak stop
 Restart=always
 
[Install]
 WantedBy=multi-user.target

 

 

service 파일 작성 후 리로드

$ systemctl daemon-reload

 

서비스를 실행해봅시다.

$ systemctl start kafka-manager

$ systemctl status kafka-manager

 

(주의사항)

RUNNINIG_PID 파일이 생성되어 있거나 프로세스가 실행중이면 서비스가 실행되지 않음.

 

stop 명령에 오류가 뜨긴 하는데 실행 종료는 잘 되는듯 합니다.

 

 

Kafka Manager 를 다루는법은 다른 포스팅에서 계속하겠습니다.

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기