brunch

You can make anything
by writing

C.S.Lewis

by 고승범 Apr 25. 2018

카프카 매니저 소개

최근 운영하고 있던 카프카 매니저를 최신 버전으로 업그레이드를 진행하였고, 이번 글에는 카프카 매니저에 대해 공유하고자 합니다. 카프카에 대한 예전 글들도 있으니 필요하신 분들은 참고하시면 좋을 것 같습니다.

카프카 Quick Start

카프카 Consumer Group

카프카 Producer ACKS

카프카 LOG 

카프카 Partition Reassign

카프카 Replication

카프카 Replication Factor 변경


카프카 관리 툴의 부재 

아마도 대부분의 많은 사용자들이 카프카를 설치하고 나서, 제일 먼저 당황해하는 점이 바로 카프카 관리 툴의 부재일 것입니다. 다른 메시징 큐 시스템인 AMQP기반의 RabbitMQ의 경우 간단하게 추가 플러그인만 설치하면, 웹 UI가 반겨주고 있어 클러스터 상태를 한눈에 알아볼 수 있고, 시각적으로 뭔가 확인할 수 있어 기분이 좋습니다. 

하지만 카프카는 CLI를 이용한 명령어만 제공하고 있어, 시각적으로 볼 수 있는 게 없기 때문에 뭔가 답답합니다. 설치는 잘 된 것인지 토픽 상태는 어떤지 등등.. 물론 Confulent사의 엔터프라이즈 버전을 이용하면 관리 툴까지 제공되고 있어 매우 편리하게 운영할 수 있습니다.

하지만 아파치 카프카를 사용하고 있고, 관리의 어려움을 겪고 있는 분들에게 말씀드리고 싶은 툴이 바로 카프카 매니저라는 툴입니다. 해당 툴은 야후에서 오픈소스로 공개하여, 깃허브 페이지(https://github.com/yahoo/kafka-manager)에서 다운로드하여 설치할 수 있습니다. 인기도를 가늠할 수 있는 스타수가 5,000이 넘어 어느 정도의 인기도 가늠할 수 있습니다.


카프카 매니저의 주요 기능 

여러 개의 클러스터를 등록 및 관리

클러스터 상태를 쉽게 확인

파티션 리발란스

토픽 생성 & 삭제 

토픽 리스트 

파티션 추가 

토픽 설정 업데이트 

위와 같은 기능들은 모두 CLI로 할 수 있는 기능들이고, 오히려 CLI로 카프카 운영과 관련된 더욱 많은 내용들을 다룰 수 있습니다. 하지만 카프카 운영 업무를 하면서 자주 사용하게 되는 토픽 생성이나 토픽 옵션 변경 등의 기능들이 카프카 매니저에 포함되어 있어, 관리자에게 도움이 많이 되는 툴이고, 개인적인 생각으로는 카프카 운영 시 필수로 동반되어야 하는 툴이라고 할 수 있습니다. 

또한 하나의 카프카 매니저로 여러 개의 클러스터를 등록하여 관리할 수 있는 점도 큰 장점 중의 하나라고 생각됩니다. 다음 그림은 참고 예제를 위한 카프카 매니저 메인 화면입니다.

좌측의 Active는 등록한 클러스터 이름과 리스트를 보여주며, 가운데의 Operations를 통해 정보 수정 또는 상태 disable 등을 할 수 있고, 가장 우측에 있는 Version을 이용하여 클러스터의 버전을 확인할 수 있습니다. 다음 화면은 아마도 가장 많이 사용하게 될 토픽 생성 화면입니다. 

토픽 이름과 파티션 수 리플리케이션 팩터를 정의하고 손쉽게 토픽을 생성할 수 있습니다. 그 외에도 토픽을 생성하면서 추가 옵션 등도 설정하여 토픽을 생성할 수 있습니다. 


마치며

카프카 매니저는 위에서 예제로 보여드린 화면 외에도 많은 기능들을 포함하고 있고, 웹 UI로 카프카를 관리할 수 있어 매우 편리하고, 실제로 카프카를 운영하는데 매우 도움이 되는 툴입니다. 만약 카프카 매니저를 아직 사용하지 않으시거나 CLI로 카프카 관리에 어려움을 겪고 있다면 해당 툴을 사용해보기를 적극 추천합니다. 

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari