Monday
Kafka QuickStart 따라하기 본문
실습 전, Java 8 이상이 설치되어 있어야 합니다. [https://subfriday.tistory.com/32 - 설치글 참조]
1. 설치
www.apache.org/dyn/closer.cgi?path=/kafka/2.8.0/kafka_2.13-2.8.0.tgz - 설치 홈페이지 참조
wget https://mirror.navercorp.com/apache/kafka/2.8.0/kafka_2.13-2.8.0.tgz
tar -xzf kafka_2.13-2.8.0.tgz
cd kafka_2.13-2.8.0
2. Kafka 환경 실행
- Zookeeper 서버 실행
bin/zookeeper-server-start.sh config/zookeeper.properties
- 새 터미널 오픈 & Kafka 서버 실행
bin/kafka-server-start.sh config/server.properties
3. 토픽 생성
Kafka는 "분산 이벤트 스트리밍 플랫폼"입니다. 이벤트를 읽고, 쓰고, 저장하고 가공해서 사용하게 됩니다.
간단히, 토픽은 폴더이고 이벤트는 폴더 안에 저장되는 파일이라고 생각하시면 됩니다.
- 새 터미널 오픈 & 토픽 생성 및 확인
bin/kafka-topics.sh --create --topic quickstart-events --bootstrap-server localhost:9092 #토픽 생성
bin/kafka-topics.sh --describe --topic quickstart-events --bootstrap-server localhost:9092 #토픽 확인
4. 토픽에 이벤트 작성
이벤트 작성을 위해, 카프카 클라이언트는 네트워크를 통해 브로커와 통신합니다. 이벤트를 받으면, 브로커는 저장합니다. 이벤트를 브로커에게 제공하는 것을 프로듀서(producer)라고 합니다.
bin/kafka-console-producer.sh --topic quickstart-events --bootstrap-server localhost:9092 #프로듀서 실행
This is my first event # 기본적으로, 라인 당 1개 이벤트
This is my second event # 2번째 이벤트
5. 이벤트 읽기
이벤트 읽는 것을 컨슈머(Consumer)라고 합니다. 여러 명의 컨슈머가 이벤트를 읽을 수도 있습니다.
bin/kafka-console-consumer.sh --topic quickstart-events --from-beginning --bootstrap-server localhost:9092 # quickstart-events 토픽에서 이벤트 읽기
6. Kafka Connect & Kafka Stream 사용
- Kafka Connect 사용
- 기존 시스템(RDB, 메시지 시스템 등)과 같은 외부 시스템에서 데이터를 카프카 내부로 수집할 때 Kafka
Connect를 사용하시면 됩니다. 자세한 사항은 해당 사이트를 참조하시면 됩니다.
[Connect 세부 참조] - Kafka Stream 사용
- 카프카에 저장되어 있는 이벤트들을 가공하고 싶을 때, Kafka Streams를 사용하실 수 있습니다. Kafka Streams는 클라이언트 라이브러리로 Java,Scala에서 사용 가능합니다.
[Streams 세부 참조]
7. 카프카 실습 종료
- 프로듀서, 컨슈머 종료
- 카프카 브로커 종료
- 주키퍼 종료
- 지금까지 생성한 이벤트들을 포함한 환경 설정 관련 데이터 제거
rm -rf /tmp/kafka-logs /tmp/zookeeper
Comments