Apache Kafka

Local에서 Kafka 명령어 날리기

beekei 2021. 9. 24. 17:42
반응형
 

[Kafka] EC2 생성 후 접속, Kafka 설치 및 설정

AWS EC2 생성 후 Inbound rule 추가 1. AWS Console 로그인 후 EC2에 접속 2. EC2 인스턴스 생성 3. 키 페어 생성 4. Inbound rule 추가 Inbound rule은 필요한대로 설정하면 되겠다. EC2 접속 후 Kafka 설치..

devbksheen.tistory.com

앞서 EC2를 생성하고 접속 후 Kafka를 설치하고 설정까지 해보았다.

Local에서 Kafka를 설치 해 명령을 날려보자


Local에서 Kafka 명령어 날리기

1. 세팅 맞추기

위에 글에서와 같은 버전에 java와 kafka를 설치하고 똑같이 설정한다.

wget 명령어가 되지 않는다면 Homebrew 설치 후 wget을 설치한다.

# Homebrew 설치
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# wget 설치
brew install wget
 

Homebrew

The Missing Package Manager for macOS (or Linux).

brew.sh

2. Topic 생성

Kafka 압축 해체한 폴더 경로로 이동해 topic을 생성한다.

# test topic 생성
bin/kafka-topics.sh --create --bootstrap-server 3.34.97.97:9092 --replication-factor 1 --partitions 1 --topic test

# 생성된 topic 목록 확인
bin/kafka-topics.sh --bootstrap-server 3.34.97.97:9092 --list

# test topic의 상세정보 환인
bin/kafka-topics.sh --bootstrap-server 3.34.97.97:9092 --topic test --describe

3. Topic 삭제

삭제 하기 전에 server.properties 파일에 delete.topic.enable=true를 설정해야 한다.

# server.properties 수정
sudo vi config/server.properties

# 코드 추가
delete.topic.enable=true

# test Topic 삭제
bin/kafka-topics.sh --bootstrap-server 3.34.97.97:9092 --delete --topic test
  • -bootstrap-server : 토픽관련 명령어를 수행할 대상 카프카 클러스터
  • -replication-factor : 레플리카 개수 지정(브로커 개수 이하로 설정 가능)
  • -partitions : 파티션 개수 설정
  • -config : 각종 토픽 설정 가능(retention.ms, segment.byte 등)
  • -create : 토픽 생성
  • -delete : 토픽 제거
  • -describe : 토픽 상세 확인
  • -list : 카프카 클러스터의 토픽 리스트 확인
  • -version : 대상 카프카 클러스터 버전 확인

4. Topic의 Record produce & consume

# Record produce
$ bin/kafka-console-producer.sh --bootstrap-server 3.34.97.97:9092 --topic test
> hello
> devbeekei
> kafka
> study

#Record consume
bin/kafka-console-consumer.sh --bootstrap-server 3.34.97.97:9092 --topic test --from-beginning

# produce한 record가 출력된다.
hello
devbeekei
kafka
study
Processed a total of 4 messages

5. Topic의 Record 삭제하기

# 삭제할 Record의 정보를 기재할 json 파일 생성(파일명은 아무거나 상관없다.)
vi delete-topic.json

# 삭제할 Record의 정보를 기재
{
  "partitions": [
    {
      "topic": "test",
      "partition": 0,
      "offset": 6
    }
  ],
  "version": 1
}
~
~

# Record 삭제
bin/kafka-delete-records.sh --bootstrap-server 3.34.97.97:9092 --offset-json-file delete-topic.json

참고

 

Kafka 커맨드 라인 명령어

이 포스팅은 카프카 관련 애플리케이션 제작 과정에서 커맨드 라인 명령어를 반복적으로 치게되면서 한번 정리하면 좋겠다 싶어서 정리하였습니다. (지속적으로 내용은 추가할 예정입니다.) ※

velog.io


 

자, Local에서 여러가지 Kafka의 명령어를 날려 보았다.

그럼 이제 Spring Boot와 연동해보자

 

[Kafka] Spring Boot에 Kafka를 연동

[Kafka] Local에서 Kafka 명령어 날리기 [Kafka] EC2 생성 후 접속, Kafka 설치 및 설정 AWS EC2 생성 후 Inbound rule 추가 1. AWS Console 로그인 후 EC2에 접속 2. EC2 인스턴스 생성 3. 키 페어 생성 4. Inbou..

devbksheen.tistory.com

 

반응형