Kafka 로컬환경에서 띄우기
카프카를 로컬환경에서 띄워보고 간단하게 테스트를 해보고자 한다.
로컬환경에서 서버를 시작할때 기본으로 제공되는 스크립트 파일로 시작할 수도 있고 docker-compose를 이용하여 시작 할 수도 있다.
카프카 다운로드
https://kafka.apache.org/downloads
여기서 적당한 버전을 선택 후 다운로드, 압축해제까지 진행한다.
스크립트 파일로 서버시작
카프카와 주키퍼 둘다 시작시켜줘야 한다. 다운로드 받은 파일의 /bin 디렉토리에 있는 스크립트로 시작과 종료를 할 수 있다.
주키퍼 시작/종료
bin/zookeeper-server-start.sh -daemon config/zookeeper.properties // 시작
bin/kafka-server-stop.sh // 종료
카프카 시작/종료
bin/kafka-server-start.sh -daemon config/server.properties // 시작
bin/zookeeper-server-stop.sh // 종료
각각 실행된 서버의 포트는 주키퍼 2181
, 카프카 9092
이다.
Docker를 사용하여 서버시작
docker-compose 사용하여 서버시작을 하는 내용이므로 위에서 스크립트로 서버시작을 했다면 건너띄자
version: "3"
services:
zookeeper:
image: wurstmeister/zookeeper
ports:
- 2181:2181
restart: always
kafka:
image: wurstmeister/kafka
environment:
KAFKA_BROKER_ID: 1
KAFKA_ADVERTISED_HOST_NAME: 127.0.0.1
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
ports:
- 9092:9092
volumes:
- /var/run/docker.sock:/var/run/docker.sock
restart: always
위 내용을 docker-compose.yml
로 저장한후에 docker-compose up -d
명령어로 설치 및 실행까지 진행한다. 완료되었다면 docker ps
로 카프카와 주키퍼가 실행 되었는지 확인한다.
테스트
다운로드한 파일의 /bin 디렉토리에 있는 bin/kafka-console-producer.sh
와 bin/kafka-console-consumer.sh
스크립트 파일로 테스트 해볼 수 있다.
kafka-console-producer
는 메시지를 전송할 수 있다. 아래 명령어로 스크립트를 실행한다.
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
bin/kafka-console-consumer.sh
는 전송한 메시지를 수신 받을 수 있다. 아래 명령어로 스크립트를 실행한다.
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
둘다 실행한후에 producer에서 아무 내용이나 입력해보자, consumer쪽에서 입력된 내용이 출력될 것이다.
Comments