참고 사이트 : 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
'Programming > Kafka' 카테고리의 다른 글
[kafka] 카프카란 ? 비동기 처리 메세지 큐의 한 종류 (0) | 2020.04.02 |
---|---|
[kafka] 특징 및 주의 사항 (0) | 2020.03.26 |
[kafka] topic 및 실행 순서 (0) | 2020.03.25 |