10.8.4. 커넥터 오프셋 나열


KafkaConnector 리소스를 사용하여 커넥터 오프셋을 추적하려면 listOffsets 구성을 추가합니다. 데이터 흐름을 추적하는 오프셋은 구성에 지정된 구성 맵에 기록됩니다. 구성 맵이 없는 경우 Apache Kafka용 Streams에서 해당 맵을 생성합니다.

구성이 배치되면 KafkaConnector 리소스에 주석을 추가하여 구성 맵에 목록을 작성합니다.

싱크 커넥터는 Kafka의 표준 소비자 오프셋 메커니즘을 사용하지만 소스 커넥터 저장소는 Kafka 주제 내의 사용자 지정 형식으로 오프셋됩니다.

  • 싱크 커넥터의 경우 목록에 Kafka 주제 파티션과 각 파티션에 대해 마지막으로 커밋된 오프셋이 표시됩니다.
  • 소스 커넥터의 경우 목록에는 소스 시스템의 파티션과 마지막으로 처리된 오프셋이 표시됩니다.

사전 요구 사항

  • Cluster Operator가 실행 중입니다.

프로세스

  1. listOffsets 구성을 포함하도록 커넥터의 KafkaConnector 리소스를 편집합니다.

    오프셋을 나열할 구성의 예

    apiVersion: kafka.strimzi.io/v1beta2
    kind: KafkaConnector
    metadata:
      name: my-source-connector
      labels:
        strimzi.io/cluster: my-connect-cluster
    spec:
      listOffsets:
        toConfigMap: 
    1
    
          name: my-connector-offsets 
    2
    
      # ...

    1
    오프셋 목록이 기록될 구성 맵에 대한 참조입니다.
    2
    이 예제에서 my-connector-offsets 라는 구성 맵의 이름입니다.
  2. 명령을 실행하여 KafkaConnector 리소스에 주석을 달아 구성 맵에 목록을 작성합니다.

    oc annotate kafkaconnector my-source-connector strimzi.io/connector-offsets=list -n <namespace>

    주석은 목록 작업이 성공하거나 리소스에서 수동으로 제거될 때까지 유지됩니다.

  3. KafkaConnector 리소스가 업데이트된 후 다음 명령을 사용하여 오프셋이 있는 구성 맵이 생성되었는지 확인합니다.

    oc get configmap my-connector-offsets -n <namespace>
  4. 구성 맵의 콘텐츠를 검사하여 오프셋이 나열되어 있는지 확인합니다.

    oc describe configmap my-connector-offsets -n <namespace>

    Apache Kafka의 스트림은 오프셋 정보를 offsets.json 속성에 배치합니다. 기존 구성 맵을 업데이트할 때 다른 속성을 덮어쓰지 않습니다.

    소스 커넥터 오프셋 목록의 예

    apiVersion: v1
    kind: ConfigMap
    metadata:
      # ...
      ownerReferences: 
    1
    
      - apiVersion: kafka.strimzi.io/v1beta2
        blockOwnerDeletion: false
        controller: false
        kind: KafkaConnector
        name: my-source-connector
        uid: 637e3be7-bd96-43ab-abde-c55b4c4550e0
      resourceVersion: "66951"
      uid: 641d60a9-36eb-4f29-9895-8f2c1eb9638e
    data:
      offsets.json: |-
        {
          "offsets" : [ {
            "partition" : {
              "filename" : "/data/myfile.txt" 
    2
    
            },
            "offset" : {
              "position" : 15295 
    3
    
            }
          } ]
        }

    1
    소스 커넥터의 KafkaConnector 리소스를 가리키는 소유자 참조입니다. 사용자 정의 소유자 참조를 제공하려면 사전에 구성 맵을 생성하고 소유자 참조를 설정합니다.
    2
    파일 기반 커넥터의 경우 이 예제의 파일 이름 /data/myfile.txt 로 표시되는 소스 파티션입니다.
    3
    소스 파티션에서 마지막으로 처리된 오프셋 위치입니다.

    싱크 커넥터 오프셋 목록의 예

    apiVersion: v1
    kind: ConfigMap
    metadata:
      # ...
      ownerReferences: 
    1
    
      - apiVersion: kafka.strimzi.io/v1beta2
        blockOwnerDeletion: false
        controller: false
        kind: KafkaConnector
        name: my-sink-connector
        uid: 84a29d7f-77e6-43ac-bfbb-719f9b9a4b3b
      resourceVersion: "79241"
      uid: 721e30bc-23df-41a2-9b48-fb2b7d9b042c
    data:
      offsets.json: |-
        {
          "offsets": [
            {
              "partition": {
                "kafka_topic": "my-topic", 
    2
    
                "kafka_partition": 2 
    3
    
              },
              "offset": {
                "kafka_offset": 4 
    4
    
              }
            }
          ]
        }

    1
    싱크 커넥터의 KafkaConnector 리소스를 가리키는 소유자 참조입니다.
    2
    싱크 커넥터가 사용하는 Kafka 주제입니다.
    3
    Kafka 주제의 파티션입니다.
    4
    이 주제 및 파티션에 대해 마지막으로 커밋된 Kafka 오프셋입니다.
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 문서 정보

Legal Notice

Theme

© 2026 Red Hat
맨 위로 이동