apache kafka는 아파치에서 제공되는 사이트를 통하여 다운로드 가능하다.
apache kafka 사이트
https://www.apache.org/dyn/closer.cgi?path=/kafka/2.8.0/kafka_2.13-2.8.0.tgz
kafka 사이트에 있는 파일을 wget 명령어를 통하여 다운로드 한다.
wget 명령어
$ wget https://archive.apache.org/dist/kafka/2.8.0/kafka_2.13-2.8.0.tgz
만일 wget 명령어를 찾을 수 없는경우 homebrew를 통하여 설치가 가능하다.
$ brew install wget
$ tar xvf kafka_2.13-2.8.0.tgz
폴더 구조
LICENSE NOTICE bin config libs licenses site-docs
zookeeper 설정 파일 위치 => /config/zookeeper.properties
$ bin/zookeeper-server-start.sh config/zookeeper.properties
백그라운드에서 구동시킬 경우 -daemon 명령어를 추가하여 데몬 프로세스로 구동한다.
$ bin/zookeeper-server-start.sh -daemon config/zookeeper.properties
kafka 설정 파일 위치 => /config/server.properties
& bin/kafka-server-start.sh -daemon config/server.properties
구동 확인
기본 port 인 2181 port를 정상적으로 리스닝 중인 것을 확인 가능하다.
& netstat -an | grep 2181 tcp6 0 0 ::1.2181 ::1.51387 ESTABLISHED tcp6 0 0 ::1.51387 ::1.2181 ESTABLISHED tcp46 0 0 *.2181 *.* LISTEN
토픽 생성
& bin/kafka-topics.sh --create --topic new-topic --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 Created topic new-topic.
zookeeper 및 kafka 서버가 1개씩 밖에 존재하지 않기 때문에
Replica 계수 및 토픽의 파티션 개수가 각각 1개인 토픽 생성
간단한 명령어 설명
토픽 리스트 확인
& bin/kafka-topics.sh --list --zookeeper localhost:2181 new-topic
Producer [메시지 발행]
& bin/kafka-console-producer.sh --topic new-topic --bootstrap-server localhost:9092 test01 test02 test03
명령어 실행 후 > 라인이 생기면 메시지 입력가능.
enter 키 입력시 메시지가 생성.
Comsumer [메시지 구독]
& bin/kafka-console-consumer.sh --topic new-topic --from-beginning --bootstrap-server localhost:9092 test01 test02 test03
Producer 로 발행한 메시지 내용을 확인 해 볼 수 있다.