10.8.5. 커넥터 오프셋 변경
KafkaConnector 리소스를 사용하여 커넥터 오프셋을 변경하려면 커넥터를 중지하고 alterOffsets 구성을 추가하여 구성 맵에서 오프셋 변경 사항을 지정하도록 리소스를 구성합니다. 오프셋을 나열 하는 데 사용되는 동일한 구성 맵을 재사용할 수 있습니다.
커넥터가 중지되고 구성이 설정된 후 KafkaConnector 리소스에 주석을 추가하여 오프셋 변경을 적용한 다음 커넥터를 다시 시작합니다.
예를 들어 커넥터 오프셋을 변경하면 유독 레코드를 건너뛰거나 레코드를 재생하는 것이 유용할 수 있습니다.
이 절차에서는 my-source-connector 라는 소스 커넥터의 오프셋 위치를 변경합니다.
사전 요구 사항
- Cluster Operator가 실행 중입니다.
프로세스
KafkaConnector리소스를 편집하여 커넥터를 중지하고alterOffsets구성을 포함합니다.커넥터를 중지하고 오프셋을 변경하는 구성 예
apiVersion: kafka.strimzi.io/v1beta2 kind: KafkaConnector metadata: name: my-source-connector labels: strimzi.io/cluster: my-connect-cluster spec: state: stopped1 alterOffsets: fromConfigMap:2 name: my-connector-offsets3 # ...구성 맵을 편집하여 변경합니다.
이 예제에서는 소스 커넥터의 오프셋 위치를 15000으로 재설정하고 있습니다.
소스 커넥터 오프셋 목록 구성 예
apiVersion: v1 kind: ConfigMap metadata: # ... data: offsets.json: |-1 { "offsets" : [ { "partition" : { "filename" : "/data/myfile.txt" }, "offset" : { "position" : 150002 } } ] }KafkaConnector리소스에 주석을 달아 오프셋 위치를 업데이트하려면 명령을 실행합니다.oc annotate kafkaconnector my-source-connector strimzi.io/connector-offsets=alter -n <namespace>이 주석은 업데이트 작업이 성공하거나 리소스에서 수동으로 제거될 때까지 유지됩니다.
- 절차를 사용하여 커넥터 오프셋을 나열 하여 변경 사항을 확인합니다.
상태를
실행중으로 변경하여 커넥터를 다시 시작합니다.커넥터를 시작하는 구성 예
apiVersion: kafka.strimzi.io/v1beta2 kind: KafkaConnector metadata: name: my-source-connector labels: strimzi.io/cluster: my-connect-cluster spec: state: running # ...