Programming/Kafka

[kafka] quick start Single-broker cluster window/linux

bisi 2020. 3. 26. 12:57

참고 사이트 : kafka quickstart

 

step 1. kafka 다운로드

공식홈페이지에서 kafka 다운로드 압축 해제

 

- 아래는 리눅스 압축해제 후 폴더 경로로 들어가기

tar -xzf kafka_2.12-2.4.1.tgz
cd kafka_2.12-2.4.1

- OS가 윈도우인 경우는 압축해체 후 Powershell이나 cmd에서 실행하면  된다.

 

 

step 2. 서버 시작

- 주의 : 유닉스 기반 OS에서는 ..bin/.....sh 파일에서 실행, Window에서는 ..\bin\windows\....bat 파일 실행

 

- Zookeeper 서버 시작

(kafka는 zookeeper 위에서 구동되기 때문에 Zookeeper 먼저 실행해줘야한다. )

kafka_2.12-2.2.0\bin\windows> .\zookeeper-server-start.bat ..\..\config\zookeeper.properties
[2020-03-25 09:34:24,940] INFO Reading configuration from: ..\..\config\zookeeper.properties (org.apache.zookeeper.server.quorum.QuorumPeerConfig)
......
[2020-03-25 09:34:29,544] INFO Using org.apache.zookeeper.server.NIOServerCnxnFactory as server connection factory (org.apache.zookeeper.server.ServerCnxnFactory)
[2020-03-25 09:34:29,547] INFO binding to port 0.0.0.0/0.0.0.0:2181 (org.apache.zookeeper.server.NIOServerCnxnFactory)

- kafka 서버 시작

kafka_2.12-2.2.0\bin\windows> .\kafka-server-start.bat ..\..\config\server.properties
[2020-03-25 09:41:39,024] INFO Registered kafka:type=kafka.Log4jController MBean (kafka.utils.Log4jControllerRegistration$)
[2020-03-25 09:41:39,710] INFO starting (kafka.server.KafkaServer)
[2020-03-25 09:41:39,712] INFO Connecting to zookeeper on localhost:2181 (kafka.server.KafkaServer)
......

 

step 3. 토픽 생성

test라는 이름의 토픽을 생성해보자. single partition과 replica는 1로 설정한다.

 

- topic 생성

kafka_2.11-2.4.1\bin\windows> .\kafka-topics.bat --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test

 

- 생선된 topic 확인

kafka_2.11-2.4.1\bin\windows> .\kafka-topics.bat --list --bootstrap-server localhost:9092
test

 

step 4. 메세지 보내기 (Producer Console 실행)

 

메세지를 보내기 위해 Producer Console을 실행한다.

실행 후 아래 줄에 '>' 이 생기는 데, 그 이후 보낼 메세지 내용을 입력해주면 된다.

kafka_2.11-2.4.1\bin\windows> .\kafka-console-producer.bat --broker-list localhost:9092 --topic test
>hello world
>hihihi
>

 

 

step 5. 메세지 받기(Consumer Console 실행)

Producer가 생산하여 보낸 메세지를 Consumer Console 창에서 확인한다.

kafka_2.11-2.4.1\bin\windows> .\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test --
from-beginning
hello world
hihihi