Saturday, March 2, 2019

Docker 기반 Kafka 실행

Kafka에 이것저것 테스트를 해보기 위해서는 내가 설치하고 관리하는게 훨씬 편하기에...

실제 서비스 전까지 무엇이 있나 들여다보기 위해서 쉽게 실행할 수 있는 방법을 찾던중...

우선적으로 docker를 이용하는게 편하겠다 싶어서 찾아본 결과...

Kafka는 Kafka cluster와 ZooKeeper가 필요하다 하여 이를 쉽게 설치할 수 있는 방법을 찾던 중

docker-compose라는게 있음 된다 하는데, 우선 잘 모르지만 https://github.com/docker/compose를 설치

1. docker-compose 설치
$ sudo curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

해서 설치를 하면 되는데, 안되는 경우는 다음과 같이 다운로드 폴더 지정을 다른데로 하고, os 정보를 넣어서 curl을 실행하면 되는데,
$ sudo mkdir -p /opt/bin
$ sudo curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-Linux-x86_64" -o /opt/bin/docker-compose

그러고 나서는 설치된 폴더에 대한 실행 permission을 부여
$ sudo chmod +x /opt/bin/docker-compose

이후 설치된 버전에 대한 확인
$ docker-compose --version

2. docker-compose를 이용한 kafka 실행

kafka-docker repository에서 code를 받아오고
$ git clone https://github.com/wurstmeister/kafka-docker

로컬에서 1대의 브로커만 실행할 것이기 때문에 docker-compose-single-broker.yml 내에 KAFKA_ADVERTISED_HOST_NAME값을 127.0.0.1으로 수정
services:
  kafka:
    environment:
      KAFKA_ADVERTISED_HOST_NAME: 127.0.0.1

수정 이후에는 실행
$ cd kafka-docker
$ docker-compose -f docker-compose-single-broker.yml up