Kafka CLI 정리
- topic 리스트 확인하기
kafka-topics.sh --bootstrap-server 0.0.0.0:9092 --list
- topic 생성하기
kafka-topics.sh --create --topic <topic name> --bootstrap-server 0.0.0.0:9092
- topic 확인하기
kafka-topics.sh --describe --topic <topic name> --bootstrap-server 0.0.0.0:9092
- topic에서 이벤트 읽기
kafka-console-consumer.sh --topic <topic name> --bootstrap-server 0.0.0.0:9092 --from-beginning
- topic에 이벤트 쓰기
- 키 없이 전송
kafka-console-producer.sh --topic <topic name> --bootstrap-server 0.0.0.0:9092 [원하는 내용 입력]
- 키를 가지는 레코드 전송
kafka-console-producer.sh --topic <topic name> --bootstrap-server 0.0.0.0:9092 --property "parse.key=true" --property "key.separator=:" key1:no1
- topic에 레코드 삭제
- 카프카에서는 토픽의 파티션에 저장된 특정 데이터만 삭제할 수는 없다. 파티션에 존재하는 가장 오래된 오프셋부터 지정한 오프셋까지 삭제된다.
vi delete-topic.json {"partitions": [{"topic“: ”test”, ”partition”: 0, "offset”: 50}], "version”:1) kafka-delete-records.sh --bootstrap-server 0.0.0.0:9092 --offset-json-file delete-topic.json
키가 존재하지 않을 경우 라운드 로빈으로 파티션에 전송한다.
키가 존재하면 기본 파티셔너 같은 경우에는 키의 해시값을 이용하여 파티션에 전송하며 커스텀 파티셔너를 생성하면 다르게 할당할 수 있다.
'Data Engineering > Kafka' 카테고리의 다른 글
Kafka 기본 개념 (1) | 2024.09.16 |
---|---|
Kafka 배경 - Event Driven Architecture (2) | 2024.09.16 |