728x90
[kafka] 카프카 시작하기 튜토리얼
아파치 카프키 튜토리얼의 내용(kafka.apache.org/quickstart)을 따라 정리한 내용입니다.
STEP 1: GET KAFKA
1) 링크 클릭하여 최신버전의 kafka를 다운로드 합니다.
(저는 wget을 사용하여 tgz파일을 다운받았습니다. 👉 wget 사용법이 궁금하다면 wget으로 파일 다운로드 하기 )
$ wget https://downloads.apache.org/kafka/2.7.0/kafka_2.13-2.7.0.tgz
2) 다운받은 링크를 압축해제 합니다.
$ tar -xzf kafka_2.13-2.7.0.tgz
$ cd kafka_2.13-2.7.0
STEP 2: START THE KAFKA ENVIRONMENT
(참고, 카프카 환경을 시작하기 위해서는 Java 8버전 이상의 설치가 필요합니다.)
아래 명령어를 통해 컴퓨터에 설치된 자바버전을 한번 확인해주세요.
$ java -version
자바가 잘 설치되었다면, 아래 명령어를 실행하여 zookeeper를 세팅합니다.
# Start the ZooKeeper service
# Note: Soon, ZooKeeper will no longer be required by Apache Kafka.
# 1. 윈도우의 경우 /bin/windows 폴더 밑에 batch 파일을 실행
$ cd bin/windows
$ zookeeper-server-start.bat ../../config/zookeeper.properties
# 2. 리눅스의 경우 /bin 디렉토리 하위에 shell 파일을 실행
$ bin/zookeeper-server-start.sh config/zookeeper.properties
- zookeeper-server-start.bat : zookeeper 서버를 실행하는 파일입니다.
- zookeeper.properties
- zookeeper 서버 설정 파일입니다.
- 위의 로그를 보시면 zookeeper를 실행했을 때 포트가 2181로 바인딩 되는데 그 이유는, zookeeper.properties에서 clientPort=2181으로 기본 설정되어 있기 때문입니다.
- 이 외에 추가적인 설정은 공식문서에 상세히 나와있습니다.
📌 디렉토리 구조는 아래와 같습니다.(경로설정에 참고해주시기 바랍니다.)
bin/
|
+-- zookeeper-server-start.sh
|
+-- windows/
|
+-- zookeeper-server-start.bat
config/
|
+-- zookeeper.properties
그 다음 새로운 터미널 세션을 열고 다시 아래 명령어를 실행합니다.
# Start the Kafka broker service
# 리눅스의 경우
$ bin/kafka-server-start.sh config/server.properties
# 윈도우의 경우
$ \bin\windows>kafka-server-start.bat ../../config/server.properties
명령어가 잘 실행되면 기본적인 kafka 환경이 실행되고 사용될 준비가 되었습니다.
STEP 3: CREATE A TOPIC TO STORE YOUR EVENTS
💡토픽 생성하기
$ kafka_2.13-2.7.0\bin\windows>kafka-topics.bat --create --bootstrap-server localhost:9092 --replication-factor 1 -partitions 1 --topic test
Created topic test.
$ bin\windows>kafka-topics.bat --list --bootstrap-server localhost:9092
test
옵션 설명
- --create : 새로운 토픽을 만든다.
- --bootstrap-server : 연결할 카프카 서버 포트번호 설정( host:port )
- --replication-factor: 레플리케이션 복제 수
- --partitions: 기본 생성될 파티션의 수 (기본 값은 server.properties 파일에서 num.partitions 항목으로 설정 가능)
- --topic : 사용할 Topic 의 이름
💡 생성한 토픽의 상세 정보 조회
$ \bin\windows>kafka-topics.bat --describe --topic test --bootstrap-server localhost:9092
Topic: test PartitionCount: 1 ReplicationFactor: 1 Configs: segment.bytes=1073741824
Topic: test Partition: 0 Leader: 0 Replicas: 0 Isr: 0
옵션 설명
- --describe : 해당 토픽의 정보 설명을 가져온다
💡 생성한 토픽 삭제
# bin\windows\kafka-topics.bat --delete --topic test --bootstrap-server localhost:9092
- --delete : 생성한 토픽을 삭제하기 위해서는 server.properties 파일에서 delete.topic.enable=true 설정을 추가가 필요하며, 서버를 재시작해야한다.
STEP 4: WRITE SOME EVENTS INTO THE TOPIC
💡프로듀서로 데이터 만들기
$ \bin\windows>kafka-console-producer.bat --broker-list localhost:9092 --topic test
>first event
>second event
ctrl+c를 통해 작업에서 빠져나올 수 있습니다.
💡컨슈머로 데이터 가져오기
$ bin\windows>kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test --from-beginning
728x90
'👩💻TIL > kafka' 카테고리의 다른 글
[kafka] 메세지큐/ 카프카의 구조, 구성요소, 작동원리 (0) | 2021.01.19 |
---|
댓글