카프카 사용시 자주 사용하는 명령어이다.
- 명령어 확인 경로: /usr/local/kafka/bin
토픽 생성
> bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test-topic
토픽 리스트 확인
> bin/kafka-topics.sh --list --bootstrap-server localhost:9092
토픽 상세 보기
> bin/kafka-topics.sh --describe --bootstrap-server localhost:9092 --topic test-topic
토픽 설정 변경
- 디스크 공간 확보시 필요.
- 운영 중 디스크 공간을 확보하는 가장 좋은 방법은 디스크 공간을 가장 많이 차지 하는 토픽의 보관 주기를 줄여주는 것.
- 보관주기의 옵션을 주지않고 토픽을 생성했다면 기본값은 7일
- 보관 주기를 1시간으로 줄이는 명령문
> bin/kafka-topics.sh --zookeeper localhost:2181 --alter --topic newdata3 --config retention.ms=3600000
토픽의 파티션 수 변경
- 카프카에서는 운영 중에 간단한 명령어로 토픽의 파티션 수를 늘려줄 수 있음.
- 주의할 점은 토픽의 파티션 수는 증가만 가능하고, 감소는 불가능.
- 파티션만 증가했다고 메시지에 대한 전체 처리 성능이 좋아지는 것은 아님.
- 파티션의 수만큼 컨슈머 역시 추가해줘야 함.
> bin/kafka-topics.sh --zookeeper localhost:2181 --alter --topic test-topic -partitions 2
- 해당 명령어 실행 결과 아래와 같은 WARNING이 발생한다.
WARNING: If partitions are increased for a topic that has a key, the partition logic or ordering of the messages will be affected
Adding partitions succeeded!
- key를 이용해 메시지를 전송하고 가져오는 형태를 운영하고 있다면 파티션 수를 변경할 때 주의해야 함.
토픽의 리플리케이션 팩터 변경
- 변경을 위해서 아래와 같은 json 형식의 파일 필요
{"version":1,
"partitions":[
{"topic":"peter-topic","partition":0,"replicas":[1,2]},
{"topic":"peter-topic","partition":0,"replicas":[2,3]}
]}
- json 파일 실행하여 replication-factor 생성
bin/kafka-reassign-partitions.sh --zookeeper peter-zk001:2181,peter-zk002:2181,peter-zk003:2181/peter-kafka --reassignment-json-file /usr/local/kafka/rf.json --execute
컨슈머 그룹 리스트 확인
bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --list
컨슈머 상태와 오프셋 확인
bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --group test-consumer --describe
'Programming > Kafka' 카테고리의 다른 글
[Kafka] 카프카 매니저 설치 Kafka-Manager install (0) | 2020.04.24 |
---|---|
[kafka] Consumer Connection Config (0) | 2020.04.22 |
[Kafka] No jmx port but jmx polling enabled (0) | 2020.04.21 |