프로젝트를 진행하면서 Confluent의 Kafka를 사용하였는데 테스트하면서 자꾸 실행하기 귀찮아서 클라우드 상에 띄워놓고 사용했었다. 그런데 이후에 서버를 내려놨을 때 로컬에서 어떻게 실행했는지 기억이 잘 나지 않아서 이번에는 블로그에 기록하면서 다시 실행해보기로 했다.
실행 및 설정

Confluent Kafka를 다운 받으면 위와 같은 폴더 구조일 것이다. 다음 명령어들을 해당 위치에서 Shift + 우클릭으로 "여기에 PowerShell 창 열기"를 클릭해준다.
Zookeeper 실행
.\bin\windows\zookeeper-server-start.bat .\etc\kafka\zookeeper.properties
Kafka 실행
.\bin\windows\kafka-server-start.bat .\etc\kafka\server.properties
Kafka Connect 실행
.\bin\windows\connect-distributed.bat .\etc\kafka\connect-distributed.properties
Connectors 조회
curl -X GET "http://localhost:8083/connectors/"

커넥터를 조회해보면 요청은 제대로 가고 응답도 제대로 온 것 같지만 아무것도 뜨지 않는다. 아직 커넥터 등록을 하지 않아서 그렇다.
Sink Connect 등록
{
"name": "delibird-sink-connect",
"config": {
"connector.class": "io.confluent.connect.jdbc.JdbcSinkConnector",
"connection.url": "jdbc:mysql://host.docker.internal:3306/delibird",
"connection.user": "유저ID",
"connection.password": "비밀번호",
"auto.create": "true",
"auto.evolve": "true",
"delete.enabled": "false",
"tasks.max": "1",
"topics": "order_products"
}
}
여기서 주의할 점은 Kafka와 DB가 같은 공간(같은 호스트 머신)에 있다면 localhost로 사용해도 되지만 Docker 컨테이너 내의 Kafka가 호스트 머신의 DB에 접근하려면 위와 같이 작성해주어야 한다.
https://megamaker.tistory.com/339
[Kafka] Docker 컨테이너와 로컬 개발 환경 연결 및 문제 해결하기
문제 발생 기존에는 개발의 편의성을 위해 GCP에 띄워놓은 Kafka를 통해 테스트를 했지만 서버를 띄우지 않았을 때는 어쩔 수 없이 로컬에서 해야 하기 때문에 로컬의 개발 편의성을 조금이라도
megamaker.tistory.com
Source Connect 등록
{
"name": "product-source-connect",
"config": {
"connector.class": "io.confluent.connect.jdbc.JdbcSourceConnector",
"connection.url": "jdbc:mysql://host.docker.internal:3306/delibird",
"connection.user": "유저ID",
"connection.password": "비밀번호",
"mode": "incrementing",
"incrementing.column.name": "id",
"table.whitelist": "delibird.order_products",
"topic.prefix": "source_",
"tasks.max": "1"
}
}
카프카 명령어
Docker에서 Kafka 접근
docker exec -it kafka bash
컨테이너 명이 kafka여야 함
토픽 리스트 확인
kafka-topics --list --bootstrap-server kafka:9092

토픽 삭제
kafka-topics --delete --bootstrap-server kafka:9092 --topic [토픽명]'공부 > Kafka' 카테고리의 다른 글
| [Kafka] Docker 컨테이너와 로컬 개발 환경 연결 및 문제 해결하기 (0) | 2024.07.05 |
|---|---|
| [Kafka Connect] Kafka Connect Source DB 반영 안 되는 문제 해결하기 (0) | 2024.05.28 |
| [Kafka Connect] Kafka Connect Sink DB에 저장이 안 될 때 (0) | 2024.05.27 |
| [Kafka Connect] Docker로 Kafka Connect 사용하기 (0) | 2024.05.26 |