본문 바로가기
cheatsheet

kafka cli 명령어 정리

by 스르나 2021. 8. 6.

 

 

Topic

명령어 설명 비고
bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --partition 4 --replication-factor 1 --topic 토픽 이름 토픽 생성  
bin/kafka-topics.sh --bootstrap-server localhost:9092 --topic 토픽이름 --alter --partitions 5 파티션 수 변경 실행중에 파티션 수 감소는 불가
bin/kafka-topics.sh --bootstrap-server localhost:9092 --topic 토픽이름 --alter --add-config 설정=설정값
토픽 옵션 추가 기존 옵션 존재시 변경하지 않음
bin/kafka-topics.sh --bootstrap-server localhost:9092 --list
토픽 리스트 조회  
bin/kafka-topics.sh --bootstrap-server localhost:9092 --describe --topic 토픽이름
토픽 상세 조회  
bin/kafka-topics.sh --bootstrap-server localhost:9090 --topic 토픽이름 --delete
토픽 삭제  

 

Producer

명령어 설명 비고
bin/kafka-console-producer.sh --bootstrap-server localhost:9092 --topic 토픽이름 메세지 내용 토픽에 메세지 전송 ByteArraySerializer로만 직렬화
bin/kafka-console-producer.sh --bootstrap-server localhost:9092 --topic 토픽이름 --property "parse.key=true" --property "key.separator=:" 키값:메세지내용
토픽에 키값을 포함한 메세지 전송 separator의 값으로 키와 메세지 구분, separator를 지정하지 않으면 \t으로 구분

 

Consumer

명령어 설명 비고
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic 토픽이름 --from-beginning 메세지 소비 --from-beginng 으로 처음부터 소비
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic 토픽이름 --property print.key=true --property key.separator=":" --from-beginning 메세지를 키와 함께 소비  
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic 토픽이름 --group 그룹네임 --from-beginning
컨슈머 그룹을 명시해서 소비  
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic 토픽이름 --max-messages 100 --from-beginning
소비할 메세지수를 정해서 소비  
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic 토픽이름 --partition 1 --from-beginnging
특정 파티션만 소비  
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic 토픽이름 --propery 옵션 --from-beginning
옵션을 추가해서 소비 옵션 종류
print.timestamp=true|false
print.key=true|false
print.offset=true|false
print.partition=true|false
print.headers=true|false
print.value=true|false
key.separator=<key.separator>
line.separator=<line.separator>
headers.separator=<line.separator>
null.literal=<null.literal>
key.deserializer=<key.deserializer>
value.deserializer=<value.
deserializer>
header.deserializer=<header.
deserializer>
Users can also pass in customized
properties for their formatter; more
specifically, users can pass in
properties keyed with 'key.
deserializer.', 'value.
deserializer.' and 'headers.
deserializer.' prefixes to configure
their deserializers.

 

 

Consumer Group

명령어 설명 비고
bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --list 컨슈머 그룹 리스트 조회  
bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --group 그룹이름 --describe
컨슈머 그룹 상세 조회  
bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --group 그룹이름 --delete
컨슈머 그룹 삭제  

'cheatsheet' 카테고리의 다른 글

ES Query  (0) 2022.10.12
ES conf  (0) 2022.10.12
docker_cheatsheet  (0) 2022.09.04
Kafka Connect API 명령어 정리  (0) 2021.11.27