kafka offset 설정 관련

meenzoon·2021년 12월 26일
0

공통: kafka 설치 위치로 이동

cd [kafka 설치 위치]

kafka consumer group 목록 확인

#/bin/bash
bin/kafka-consumer-groups.sh —bootstrap-server localhost:9092 --list

kafka 특정 그룹 남은 lag 확인

#/bin/bash

bin/kafka-consumer-groups.sh —bootstrap-server localhost:9092 —describe —group [그룹명]

kafka offset 변경하기

  1. 아래 모든 offset 변경에 있어 --execute 옵션을 제거하고 실행하면 실제 반영되지 않고 실행 예정 결과만 출력하는 dry run 실행이 가능함.
  2. 변경 관련 명령어
    --reset-offsets 사용하여 offset 변경시 아래 명령어 최소 하나를 사용하여 변경 시점을 지정해줘야함
명령어설명
--to-datetime <String: datetime>특정 시간대의 offset으로 되돌린다. Format 'YYYY-MM-DDTHH:mm:SS.sss'
--to-earliest처리할 수 있는 가장 처음 시간으로 되돌린다.
--to-latest가장 최근의 offset으로 변경한다.
--shift-by <Long: number-of offsets>현재 위치부터 설정한 n값에 따라 offset 위치를 변경한다. n값은 양수, 음수 모두 사용 가능하다.
--from-fileCSV 파일에 설정되어 있는 각 offset 위치로 변경한다.(아마 그룹 전체를 변경할 때에 사용할 듯)
--to-current현재 offset 위치로 변경한다.
--by-duration현재 시간 기준으로 옵션에 작성한 시간 기준별로 offset을 변경한다. Format: 'PnDTnHnMnS'
--to-offset설정한 offset위치로 변경한다.

--to-current의 경우 명령어 실행 안 하면 어차피 현재 위치인데, 왜 사용하는지???

특정 토픽 offset으로 변경

특정 토픽만 offset 변경할 경우 사용됨

#/bin/bash
bin/kafka-consumer-groups \
--bootstrap-server localhost:9092 \
--group [그룹명] \
--reset-offsets \
--to-earliest \
--topic [토픽명] \
--execute

특정 그룹 전체 토픽 offset 변경

특정 그룹에 대하여 전체 offset을 되돌릴 경우에 사용함.

#/bin/bash
bin/kafka-consumer-groups \
--bootstrap-server localhost:9092 \
--group [그룹명] \
--reset-offsets \
--to-earliest \
--all-topics \
--execute

참고: https://kafka.apache.org/

0개의 댓글