1. 도커 컴포즈 파일 작성
docker-compose.yml 파일을 작성한다
version: '3'
services:
# wurstmeister/zookeeper:3.4.6
zookeeper:
hostname: zookeeper
container_name: zookeeper
image: wurstmeister/zookeeper:3.4.6
ports:
- "2181:2181"
# wurstmeister/kafka:2.13-2.8.1
kafka:
hostname: kafka
container_name: kafka
image: wurstmeister/kafka:2.13-2.8.1
environment:
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:9092
KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092
KAFKA_ADVERTISED_HOST_NAME: 127.0.0.1
KAFKA_ADVERTISED_PORT: 9092
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_CREATE_TOPICS: "test:1:1"
ports:
- "9092:9092"
depends_on:
- zookeeper
그리고 도커 컴포즈를 실행해보자
docker-compose up -d
실제로 도커 컨테이너가 잘 실행됐는지 확인해보자
docker ps
잘 실행된 것을 확인할 수 있다.
2. 카프카 접속
카프카 컨테이너에 접속해보자
docker exec -it kafka bash
접속이 잘 됐다.
3. 카프카 관련 명령어를 사용해보자
먼저 현재 상태의 토픽이 무엇이 있는지 확인해보자
kafka-topics.sh --list --bootstrap-server kafka:9092
test라는 이름을 가진 토픽이 있는 것을 확인할 수 있다.
우리는 test123 이라는 토픽을 만들어보자
kafka-topics.sh --create --bootstrap-server kafka:9092 --replication-factor 1 --partitions 1 --topic test123
만들어졌다는 내용이 뜨면,
다시한번 현재 카프카에 있는 토픽 리스트를 조회해보자
kafka-topics.sh --list --bootstrap-server kafka:9092
방금 명령어로 만든 test123이라는 토픽이 잘 생성된 것을 확인할 수 있다.
test123 토픽의 상세내용을 확인하는 명령어를 입력해보자
kafka-topics.sh --describe --bootstrap-server kafka:9092 --topic test123
test123이라는 토픽을 만들 때 레플리카를 1 파티션을 1로 만들었는데,
만든 명령어와 동일하게 토픽이 만들어진 것을 확인할 수 있다.
test123이라는 토픽의 파티션이 현재 1인데, 2로 늘려보자
kafka-topics.sh --zookeeper zookeeper:2181 --alter --topic test123 -partitions 2
경고가 떳으나, 성공적으로 추가됐다고 한다.
다시한번 토픽 상세보기로 파티션이 2로 증가했는지 확인해보자
kafka-topics.sh --describe --bootstrap-server kafka:9092
test123 토픽의 파티션이 2개로 늘어난 것 같다.
3개로 늘려보자.
kafka-topics.sh --zookeeper zookeeper:2181 --alter --topic test123 -partitions 3
kafka-topics.sh --describe --bootstrap-server kafka:9092
'Data Engineering > Kafka' 카테고리의 다른 글
[kafka] 주키퍼에서 카프카 토픽 확인하는 방법 (0) | 2021.12.26 |
---|---|
[kafka] 카프카에서 토픽 삭제하는 방법 (0) | 2021.12.26 |
[kafka] 도커의 각 컨테이너의 접속할 때 현재의 사용자계정을 확인하는 방법 whoami (0) | 2021.12.23 |
[kafka] 카프카 클러스터끼리 네트워크 연결 통신상태 확인하는 방법 (0) | 2021.12.23 |
[kafka] 도커컴포즈로 멀티노드 카프카 만드는 방법 (docker compose, kafka, zookeeper) (0) | 2021.12.23 |