ETC/Kafka

[Kafka] 카프카 기본 실습

seokhyun2 2020. 12. 27. 23:15

1. 카프카 설치

카프카 실습을 위해서 설치를 해볼건데, 간편하게 도커로 해보도록 하겠습니다.

카프카는 공식 도커 이미지가 없습니다.

그래서 찾아보니, 아래 링크를 사람들이 많이 활용을 한다고 해서 저도 한번 활용을 해보았습니다.

github.com/wurstmeister/kafka-docker

 

wurstmeister/kafka-docker

Dockerfile for Apache Kafka. Contribute to wurstmeister/kafka-docker development by creating an account on GitHub.

github.com

먼저 git clone을 해주고 해당 디렉토리로 들어갑니다.

git clone https://github.com/wurstmeister/kafka-docker
cd kafka-docker

 

여기서 저희는 docker-compose-single-broker.yml을 활용하여 카프카를 설치할건데 수정이 필요합니다.

파일을 열어서 아래와 같이 KAFKA_ADVERTISED_HOST_NAME을 127.0.0.1로 수정해줍니다.

원래는 고정 ip를 받아서 해당 ip로 세팅하는 부분인데, 지금은 내 컴퓨터에 설치를 해서 내 컴퓨터에서만 연결해서 테스트를 할 것이니 그냥 편하게 localhost로 설정해주도록 하겠습니다.

KAFKA_ADVERTISED_HOST_NAME: 127.0.0.1

 

그러면 이제 docker-compose 명령을 활용해서 서버를 띄워봅시다.

만약에 백그라운드에서 실행하고 싶을 때는, 맨 뒤에 -d를 추가하시면 됩니다.

docker-compose -f docker-compose-single-broker.yml up

참고로 docker-compose-single-broker.yml에 보시면, 아래와 같은 코드가 존재하는데, 서버를 시작하고 바로 토픽을 만들어주는 명령입니다. test라는 토픽을 파티션 1개, replica 1개로 설정해서 생성해줍니다.

KAFKA_CREATE_TOPICS: "test:1:1"

 

2. 내 맥북에 kafka client 설치

kafka 테스트를 하기 위한 client를 맥북에 설치를 해보겠습니다.

brew install kafka

 

3. consumer 실행

컨슈머는 실행하면 카프카 서버와 연결을 하고 계속 유지를 합니다.

아래의 명령어를 활용해서 consumer를 실행해보겠습니다.

kafka-console-consumer --topic test --from-beginning --bootstrap-server localhost:9092

 

4. producer 실행

추가로 터미널을 열어서, 이번엔 producer를 실행해보겠습니다.

kafka-console-producer --topic test --bootstrap-server localhost:9092

producer에서 이렇게 메세지를 보낼 수 있습니다.

그래서 consumer에서는 저렇게 메세지가 날아오면 성공입니다.

 

'ETC > Kafka' 카테고리의 다른 글

[Kafka] 카프카 데이터 모델  (0) 2020.11.29
Kafka 개요 / 설치  (0) 2020.07.19