본문 바로가기

카테고리 없음

Kafka cmd 간편 사용 위한 batch 스크립트

작은 뇌용량 탓에 가끔씩 kafka 명령어 쓰려고 할 때마다 구글링하는게 귀찮아서 간단한 배치 스크립트 만들어보았습니다.

@echo off

set BROKER=KAFKA_IP
set CURR_PATH=%cd%
set KAFAK_BIN=KAFKA_HOME\bin\windows

cd %KAFAK_BIN%

:start
set t=
cls
echo.
echo ==============================
echo 1. producer
echo 2. consumer
echo 3. topic list
echo 4. topic describe
echo H. kafka cmd cheat sheet
echo 0. Exit
echo ==============================

echo.

set /p x=input : 
if %x%==1 goto producer
if %x%==2 goto consumer
if %x%==0 goto exit
if %x%==3 goto topic_list
if %x%==4 goto topic_desc
if /i %x%==h goto cheat_sheet

goto start

:producer
set /p t=producer topic : 
echo producer %t%
call kafka-console-producer.bat --bootstrap-server %BROKER% --topic %t%

cls
pause
goto start

:consumer
set /p t=consumer topic : 
echo consumer %t%
call kafka-console-consumer.bat --bootstrap-server %BROKER% --topic %t%
cls
pause
goto start

:topic_list
call kafka-topics.bat --bootstrap-server %BROKER% --list
pause
goto start


:topic_desc
set /p t=describe topic : 
echo description %t%
call kafka-topics.bat --bootstrap-server %BROKER% --topic %t% --describe
rem timeout 5
pause
goto start

:cheat_sheet
start chrome https://gist.github.com/sahilsk/d2a6ec384f5f2333e3fef40a581a97e1
goto start

:exit
cd %CURR_PATH%
exit /b
 
 

참고로 kafka 클라이언트용으로 일부 명령만 사용하려는 경우(가령, 토픽 생성, 토픽 목록 보기,  정도)에는 kafka 배포본 중 아래 파일들만 있으면 되는듯.

├── bin
│   └── windows
│       ├── kafka-console-consumer.bat
│       ├── kafka-console-producer.bat
│       ├── kafka-run-class.bat
│       └── kafka-topics.bat
├── config
│   └── tools-log4j.properties
└── libs
    ├── jopt-simple-5.0.4.jar
    ├── kafka-clients-3.1.0.jar
    ├── kafka-raft-3.1.0.jar
    ├── kafka-storage-3.1.0.jar
    ├── kafka_2.13-3.1.0.jar
    ├── log4j-1.2.17.jar
    ├── scala-java8-compat_2.13-1.0.0.jar
    ├── scala-library-2.13.6.jar
    ├── scala-logging_2.13-3.9.3.jar
    ├── slf4j-api-1.7.30.jar
    └── slf4j-log4j12-1.7.30.jar

4 directories, 16 files