wurstmeister/kafka-docker는 사실상 표준(디팩토)으로 카프카 도커 이미지로 띄우는 용도로 사용하고 있습니다. 사용 방법은 아래와 같습니다.
$ git clone https://github.com/wurstmeister/kafka-docker.git
$ cd kafka-docker
wurstmeister/kafka-docker에 있는 docker-compose-single-broker.yml 의 내부 설정 중 KAFKA_ADVERTISED_HOST_NAME을 변경합니다.
$ vi docker-compose-single-broker.yml
version: '2'
services:
zookeeper:
image: wurstmeister/zookeeper
ports:
- "2181:2181"
kafka:
build: .
ports:
- "9092:9092"
environment:
KAFKA_ADVERTISED_HOST_NAME: 127.0.0.1
KAFKA_CREATE_TOPICS: "test:1:1"
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
volumes:
- /var/run/docker.sock:/var/run/docker.sock
docker-compose 명령어로 실행합니다.
$ docker-compose -f docker-compose-single-broker.yml up -d
docker ps로 이미지가 실행되었는지 확인합니다.
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
854025630ab4 kafka-docker_kafka "start-kafka.sh" 4 minutes ago Up 4 minutes 0.0.0.0:9092->9092/tcp kafka-docker_kafka_1
ac92a0fb70e5 wurstmeister/zookeeper "/bin/sh -c '/usr/sb…" 4 minutes ago Up 4 minutes 22/tcp, 2888/tcp, 3888/tcp, 0.0.0.0:2181->2181/tcp kafka-docker_zookeeper_1
d88540e09734 streamsets/datacollector "/docker-entrypoint.…" 5 months ago Up 3 days 0.0.0.0:18630->18630/tcp sdc
kafka-console-producer, kafka-console-consumer로 토픽의 데이터를 날려서 확인합니다.
$ ./kafka-console-producer.sh --bootstrap-server localhost:9092 --topic test
> a
> b
> c
$ ./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test
a
b
c
반응형
'빅데이터 > Kafka' 카테고리의 다른 글
카프카 스트림즈 suppress() 사용할 때 ClassCastException 문제 (0) | 2021.04.06 |
---|---|
Kafka streams 에러 : Size of data received by LongDeserializer is not 8 (0) | 2021.04.06 |
카프카 스트림즈 애플리케이션 초기화 명령 (0) | 2021.03.31 |
특정 시점(날짜+시간)의 레코드부터 가져오도록 설정하기. (2) | 2021.03.03 |
아파치 카프카를 데이터 레이크로 사용할 수 있을까? (1) | 2021.02.25 |
macOS에서 카프카 버로우 빌드 및 실행하기. (0) | 2020.11.29 |