@Eeap
velog
@Eeap
전체 방문자
오늘
어제
  • 전체 (168)
    • osam (1)
    • Cloud (21)
      • Docker (2)
      • AWS (13)
    • AI & Data (7)
    • Algorithm (76)
      • Baekjoon (75)
      • Codeforces (1)
    • Language (18)
      • Java (18)
    • Back-end (17)
      • Spring (3)
      • JSP & Servlet (12)
      • Go (2)
    • 일상 (4)
    • 기타 (8)
    • git (1)
    • Infra (9)
      • Apache Kafka (5)
      • Kubernetes (4)
      • 기타 (0)

블로그 메뉴

  • 홈
  • 태그

공지사항

인기 글

태그

  • 심폴릭링크
  • Agent
  • bedrock api
  • Python
  • 인터페이스
  • bedrock
  • AWS CodeStar
  • AWS CodeCatalyst
  • AWS CodeArtifact
  • knowledge bases
  • 티스토리챌린지
  • 오블완
  • sagemaker unified studio
  • bedrock agent
  • converse api
  • CLASS
  • java
  • SageMaker
  • invokemodel api
  • flink

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
@Eeap

velog

Infra/Apache Kafka

Kafka mac에서 설치 및 테스트

2022. 8. 27. 15:26
반응형

들어가기 압서 mac에서 쉽게 homebrew를 이용해서 설치할 수 있는데 계속 zookeeper 오류가 뜨고 그래서 저는 공식 문서에 있는 quick start 를 참고하면서 진행했습니다!

그리고 참고로 이후 최신 버전에는 zookeeper가 deprecated된다고 합니다!

https://www.infoworld.com/article/3660073/why-apache-kafka-is-dropping-zookeeper-for-kraft.html

 

Why Apache Kafka is dropping ZooKeeper

Replacing ZooKeeper with internally managed metadata will improve scalability and management, according to Kafka's developers.

www.infoworld.com


카프카 파일 다운로드

https://kafka.apache.org/quickstart

 

Apache Kafka

Apache Kafka: A Distributed Streaming Platform.

kafka.apache.org

여기 들어가서 다운받아도 되고 https://kafka.apache.org/quickstart#:~:text=1%3A%20GET%20KAFKA-,Download,-the%20latest%20Kafka

 

Apache Kafka

Apache Kafka: A Distributed Streaming Platform.

kafka.apache.org

바로 이 링크로 다운받아도 됩니다!


다운받은 후 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
    'Infra/Apache Kafka' 카테고리의 다른 글
    • Kafka consumer API
    • kafka producer API
    • kafka의 기본 개념 정리
    • Kafka의 등장 배경 및 특징
    @Eeap
    @Eeap

    티스토리툴바