들어가기 압서 mac에서 쉽게 homebrew를 이용해서 설치할 수 있는데 계속 zookeeper 오류가 뜨고 그래서 저는 공식 문서에 있는 quick start 를 참고하면서 진행했습니다!
그리고 참고로 이후 최신 버전에는 zookeeper가 deprecated된다고 합니다!
https://www.infoworld.com/article/3660073/why-apache-kafka-is-dropping-zookeeper-for-kraft.html
카프카 파일 다운로드
https://kafka.apache.org/quickstart
여기 들어가서 다운받아도 되고 https://kafka.apache.org/quickstart#:~:text=1%3A%20GET%20KAFKA-,Download,-the%20latest%20Kafka
바로 이 링크로 다운받아도 됩니다!
다운받은 후 cmd를 키고 다운로드 받은 폴더로 이동해서 폴더 압축을 풀어줍니다
% cd Downloads
% tar -xzf kafka_2.13-3.2.1
% cd kafka_2.13-3.2.1
그 다음 주키퍼를 실행시킨 다음 kafka를 실행시켜주어야 하는데 저는 여기서 주키퍼가 포트 충돌도 나고 중간에 자꾸 멈추거나 무한 session req가 떠서😅 port에 열려있는거 다 끄고 daemon 옵션으로 백그라운드에서 실행시켜주었더니 잘되었어요!
//port 열려있는거 확인
% lsof -i :2181
% lsof -i :9092
//열려 있다면 닫기
% kill -9 pid
//아래 코드는 다 kafka 폴더에서 실행시켜주면 됩니다
% bin/zookeeper-server-start.sh -daemon config/zookeeper.properties
% bin/kafka-server-start.sh -daemon config/server.properties
저는 이후 topic 생성해줄때 topic 생성이 안되고 timeout 되는 현상을 겪었는데 server.properties에
# FORMAT:
# listeners = listener_name://host_name:port
# EXAMPLE:
# listeners = PLAINTEXT://your.host.name:9092
listeners=PLAINTEXT://localhost:9092
listeners 부분을 주석을 풀고 localhost를 추가했더니 잘 해결됐어요!!
위에서 zookeeper랑 kafkaf를 다 키면 이젠 topic을 생성해주고 producer랑 consumer로 데이터가 잘 저장되고 불러와지는지 테스트 하면 됩니다!
//topic name은 저는 sumin으로 설정했습니다!
% bin/kafka-topics.sh --create --topic sumin --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1
//topic 생성 확인
% bin/kafka-topics.sh --list --bootstrap-server localhost:9092
// 아래 > 표시가 나오면 데이터를 입력하고 다 한후엔 ^+c 로 나가시면 됩니답
% bin/kafka-console-producer.sh --topic new-topic --bootstrap-server localhost:9092
> hello
> test
// from-beginning 옵션은 첨부터 읽어오는 옵션입니다!
% bin/kafka-console-consumer.sh --topic new-topic --from-beginning --bootstrap-server localhost:9092
//hello 출력
//test 출력
여기까지 간단하게 테스트를 했고 이후 사용했던 topic을 삭제하고 싶거나 카프카와 주키퍼 서버를 끄고 싶다면 다음 코드를 참고해서 끄면 돼요!
% bin/zookeeper-shell.sh localhost:2181
//shell로 들어가지면 topic 내용을 확인하고 지우시면 돼요!
ls /brokers/topics
deleteall /brokers/topics/sumin
//server 종료 코드
% bin/zookeeper-server-stop.sh
% bin/kafka-server-stop.sh
'Infra > Apache Kafka' 카테고리의 다른 글
Kafka consumer API (0) | 2022.09.18 |
---|---|
kafka producer API (0) | 2022.09.18 |
kafka의 기본 개념 정리 (2) | 2022.09.05 |
Kafka의 등장 배경 및 특징 (0) | 2022.08.26 |