IT/WSL

[docker] kafka 명령어

상짱 2024. 5. 23. 08:26
반응형

docker kafka

 

위치 : /opt/kafka

 

- 토픽 생성

kafka-topics.sh --create --bootstrap-server localhost:9092 --partitions 3 --replication-factor 1 --config retention.ms=172800000 --topic hello.kafka.2

 

- 토픽 리스트 조회

kafka-topics.sh --bootstrap-server localhost:9092 --list

 

- 토픽 상세 조회

kafka-topics.sh --bootstrap-server localhost:9092 --topic main-topic-1 --describe

 

- 토픽 옵션 수정

- 파티션 변경

kafka-topics.sh --bootstrap-server localhost:9092 --topic hello.kafka.2 --alter --partitions 4

 

- 리테이션(데이터유지기간) 수정

kafka-configs.sh --bootstrap-server localhost:9092 --entity-type topics --entity-name hello.kafka.2 --alter --add-config retention.ms=86400000

 

- 상세

kafka-configs.sh --bootstrap-server localhost:9092 --entity-type topics --entity-name hello.kafka.2 --describe

 

- 메시지 생성?

토픽에 넣는 데이터를 레코드(record)라 부른다.

키:값으로 이루어진다.

 

- 키 없이 브로커 전송

kafka-console-producer.sh --bootstrap-server localhost:9092 --topic hello.kafka.2

키 없이 전송하면, null로 기존 설정되어 브로커로 전송된다.

 

- 키 브로커 전송

kafka-console-producer.sh --bootstrap-server localhost:9092 --topic hello.kafka.2 --property "parse.key=true" --property "key.separator=:"

 

- 토픽으로 전송된 데이터 확인

kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic hello.kafka.2 --from-beginning

 

- 키값과 같이 데이터 확인

kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic hello.kafka.2 --from-beginning --property print.key=true --property key.separator=":"

 

- 컨슈머 그룹 추가

kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic hello.kafka.2 --from-beginning --property print.key=true --property key.separator=":" --group hello-group

오프셋 커밋 - 그룹에서 가져간 메시지의 레코드 오프셋 번호를 브로커에 저장

커밋 정보는 __consumer_offsets 이름의 내부 토픽에 저장

 

- 컨슈머 그룹 목록

kafka-consumer-groups.sh --bootstrap-server localhost:9092 --list

 

- 컨슈머 그룹 상세

kafka-consumer-groups.sh --bootstrap-server localhost:9092 --group hello-group --describe

 

- 통신 테스트

- 10개의 데이터 전송

kafka-verifiable-producer.sh --bootstrap-server localhost:9092 --max-messages 10 --topic hello.kafka.2

 

- 전송한 데이터 확인

kafka-verifiable-consumer.sh --bootstrap-server localhost:9092 --topic hello.kafka.2 --group-id hello-group

 

- 적재된 토픽 데이터 삭제

kafka-delete-records.sh

 

1. vi delete-topic.json 생성 - 0 파티션에 저장된 0~50 오프셋데이터 지우기

{"partitions":[{"topic":"test","partition":0, "offset":50}], "version":1}

 

2. kafka-delete-records.sh --bootstrap-server localhost:9092 --offset-json-file delete-topic.json






반응형