MacOS kafka 설치
📖 MacOs 에서 kafka 설치하기
1️⃣ kafka 다운로드
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
2️⃣ zookeeper 구동
zookeeper 설정 파일 위치 => /config/zookeeper.properties
$ bin/zookeeper-server-start.sh config/zookeeper.properties
백그라운드에서 구동시킬 경우 -daemon 명령어를 추가하여 데몬 프로세스로 구동한다.
$ bin/zookeeper-server-start.sh -daemon config/zookeeper.properties
3️⃣ kafka 구동
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
4️⃣ 테스트
토픽 생성
& 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개인 토픽 생성
간단한 명령어 설명
- --create : 토픽 생성
- --topic [ topic-name ] : 생성할 토픽 이름
- --partitions [ number ] : 생성할 토픽의 파티션 개수
- --replication-factor [ number ] : 각 파티션 내 메시지를 복제할 Replica 의 개수
- --bootstrap-server : 연결될 카프사 서버
토픽 리스트 확인
& 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 로 발행한 메시지 내용을 확인 해 볼 수 있다.
Author And Source
이 문제에 관하여(MacOS kafka 설치), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@kimview/MacOS-kafka-설치저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)