forked from MinePing/Final
-
Notifications
You must be signed in to change notification settings - Fork 0
kafka command
qbsb147 edited this page Mar 21, 2026
·
1 revision
Linux/Mac에서는 경로(.\bin\windows\)와 .bat 대신 ./bin/kafka-... 스크립트를 사용해야 합니다.
REM UUID 생성
.\bin\windows\kafka-storage.bat random-uuid
REM 스토리지 포맷 초기화 (KRaft 모드)
.\bin\windows\kafka-storage.bat format -t XXXXXXXXXXXXXXXX -c .\config\server.properties💡 설명: Kafka KRaft 모드를 위한 브로커 스토리지 초기화 단계입니다.
| 명령어/옵션 | 의미 |
|---|---|
.\bin\windows\kafka-storage.bat |
Kafka KRaft 모드 스토리지 관리용 실행 스크립트 |
random-uuid |
브로커 스토리지를 식별할 고유 UUID 생성 |
format |
스토리지를 Kafka용으로 초기화 (기존 데이터 삭제 주의) |
-t XXXXXXXXXXXXXXXX |
생성한 UUID를 지정 |
-c .\config\server.properties |
Kafka 서버 설정 파일 경로 지정 |
.\bin\windows\kafka-server-start.bat .\config\server.properties.\bin\windows\connect-standalone.bat .\config\connect-standalone.properties .\config\connect-example-source.properties| 명령어/옵션 | 의미 |
|---|---|
.\bin\windows\kafka-server-start.bat |
Kafka 브로커 실행 스크립트 |
. \config\server.properties |
Kafka 브로커 설정 파일 경로 지정 |
.\bin\windows\connect-standalone.bat |
Kafka Connect Standalone 모드 실행 스크립트 |
. \config\connect-standalone.properties |
Connect 기본 설정 파일 경로 지정 |
. \config\connect-example-source.properties |
커넥터별 설정 파일 (예: MySQL Source) 지정 |
| 명령어/옵션 | 의미 |
|---|---|
.\bin\windows\kafka-topics.bat |
Kafka 토픽 관리용 스크립트 실행 (생성/조회/삭제 가능) |
--bootstrap-server localhost:9092 |
연결할 Kafka 브로커 주소와 포트 |
.\bin\windows\kafka-topics.bat --bootstrap-server localhost:9092 --list.\bin\windows\kafka-topics.bat --bootstrap-server localhost:9092 --create --topic example_app.example_topic --partitions 1 --replication-factor 1| 명령어/옵션 | 의미 |
|---|---|
--create |
토픽 생성 명령 |
--topic example_app.example_topic |
생성할 토픽 이름 |
--partitions 1 |
파티션 개수, 병렬 처리 단위 |
--replication-factor 1 |
토픽 데이터 복제본 수 |
.\bin\windows\kafka-topics.bat --bootstrap-server localhost:9092 --describe --topic example_app.example_topic.\bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic example_app.example_topic --from-beginning| 명령어/옵션 | 의미 |
|---|---|
.\bin\windows\kafka-console-consumer.bat |
콘솔에서 Kafka 토픽 메시지를 읽는 스크립트 |
--from-beginning |
토픽의 처음 메시지부터 읽기 |
curl -X POST -H "Content-Type: application/json" --data @connector-example.json http://localhost:8083/connectors| 명령어/옵션 | 의미 |
|---|---|
curl |
터미널에서 HTTP 요청을 보내는 명령어 |
-X POST |
POST 방식으로 요청 (데이터 등록/생성 시 사용) |
-H "Content-Type: application/json" |
HTTP 헤더, JSON 형식 데이터 전송 |
--data @connector-example.json |
전송할 JSON 파일 지정 (@는 파일에서 읽음) |
http://localhost:8083/connectors |
Kafka Connect REST API 엔드포인트, 커넥터 등록 위치 |
curl localhost:8083/connectorscurl localhost:8083/connectors/example_server/statuscurl -X POST http://localhost:8083/connectors/example_server/restart
curl -X POST http://localhost:8083/connectors/example_server/tasks/0/restartsequenceDiagram
participant MySQL
participant Connect as Kafka Connect (8083)
participant Broker as Kafka Broker (9092)
participant Consumer
MySQL->>Connect: CDC 이벤트 발생
Connect->>Broker: 이벤트를 토픽으로 전송 (example_app.example_topic)
Consumer->>Broker: 토픽에서 메시지 읽기
💡 설명:
- MySQL에서 변경 이벤트 발생
- Kafka Connect가 이벤트를 Kafka 브로커로 전송
- 브로커(9092)가 토픽에 메시지 저장
- 콘슈머가 토픽에서 메시지 확인
| 포트 | 대상 | 역할 |
|---|---|---|
| 9092 | Kafka 브로커 | 메시지 송수신, 토픽 관리 |
| 8083 | Kafka Connect | 커넥터 등록/상태관리/REST API |