Score:0

บันทึกของ Kafka จะถูกรีเซ็ตเมื่อโบรกเกอร์ทั้งหมดเริ่มต้นใหม่พร้อมกัน

ธง cn

ฉันมีคลัสเตอร์คาฟคาที่ทำงานบนคลัสเตอร์ Kubernetes ที่ผสานรวมกับโบรกเกอร์คาฟคา 3 รายและผู้ดูแลสวนสัตว์ 3 ราย แต่ละองค์ประกอบทำงานใน statefulset แผนภูมิหางเสือที่ฉันใช้เพื่อปรับใช้คลัสเตอร์นั้นเป็นแผนภูมิแบบกำหนดเอง เนื่องจากฉันต้องการการเข้าถึงภายนอกไปยังคลัสเตอร์ผ่าน BigIp F5 และไม่พบแผนภูมิหางเสือที่ทำสิ่งนี้

ภาพลักษณ์ของคาฟคาคือ ไหลมารวมกัน/cp-kafka:5.4.0 และคนดูแลสวนสัตว์ก็คือ ไหลมารวมกัน/cp-zookeeper:5.4.0

/var/lib/ผู้ดูแลสวนสัตว์/data และ /var/lib/zookeeper/log สำหรับ Zookeeper ถูกแมปกับวอลุ่มถาวร เหมือนกันสำหรับ /var/lib/คาฟคา บนคาฟคา

ฉันใช้ hlebalbau/kafka-manager:stable เพื่อดูสถานะของคลัสเตอร์

ฉันตั้งค่าพาร์ติชันสามพาร์ติชันต่อหัวข้อ และปัจจัยการจำลองก็เท่ากับสามเช่นกัน

เมื่อเร็ว ๆ นี้ฉันตระหนักว่าหากฉันเริ่มต้นโบรกเกอร์คาฟคาทั้งสามใหม่พร้อมกัน (ด้วย kubectl ลบพ็อด) เนื้อหาหัวข้อทั้งหมดหายไป:

  • ขนาดบันทึกลดลงเหลือศูนย์สำหรับแต่ละหัวข้อ
  • รายการหัวข้อยังคงเหมือนเดิม
  • รายการผู้บริโภคยังคงเหมือนเดิม แต่ค่าชดเชยปัจจุบันของผู้บริโภคแต่ละรายการจะลดลงเป็นค่าลบ (หากผู้บริโภคอยู่ที่ค่าชดเชย 10,000 สำหรับหัวข้อข้อความ 10,000 ข้อความ ขนาดหัวข้อจะลดลงเป็นศูนย์และค่าชดเชยของผู้บริโภคเป็น -10000 )

ฉันไม่เคยพบปัญหาใด ๆ เมื่อรีสตาร์ทโบรกเกอร์ kafka หนึ่งรายในแต่ละครั้งและรอให้เริ่มต้นใหม่ก่อนที่จะเริ่มใหม่อีกครั้ง ฉันรู้ว่าคลัสเตอร์คาฟคาไม่ได้ถูกกำหนดให้หยุดหรือเริ่มต้นใหม่เช่นนี้ แต่ฉันไม่ได้คาดหวังว่าจะมีพฤติกรรมแบบนี้

เป็นพฤติกรรมที่คาดหวัง ? หรือฉันพลาดอะไรที่ชัดเจนไป?

นี่คือเทมเพลต Yaml ของฉันสำหรับนายหน้าคาฟคา ตามที่ระบุชื่อไว้ รอ-zookeeper.sh สคริปต์ "เพียง" รอให้ผู้ดูแลสวนสัตว์เริ่มทำงาน

---
apiVersion: แอป/v1
ประเภท: StatefulSet
ข้อมูลเมตา:
  ชื่อ: kafka-controller-1
ข้อมูลจำเพาะ:
  แบบจำลอง: 1
  ตัวเลือก:
    ป้ายกำกับการแข่งขัน:
      แอป: คาฟคา-1
  ชื่อบริการ: kafka1-หัวขาด
  แม่แบบ:
    ข้อมูลเมตา:
      ป้ายกำกับ:
        แอป: คาฟคา-1
        คลัสเตอร์: คาฟคา
    ข้อมูลจำเพาะ:
      คอนเทนเนอร์เริ่มต้น:
        - ชื่อ: init-wait-zookeeper
          ภาพ: ทุบตี: ล่าสุด
          คำสั่ง: ["/usr/local/bin/bash","-c","cp /wait-zookeeper-configmap/wait-zookeeper.sh /wait-zookeeper-emptydir/ && chmod 755 /wait-zookeeper-emptydir/ wait-zookeeper.sh && /wait-zookeeper-emptydir/wait-zookeeper.sh"]
          ปริมาณการติดตั้ง:
            - ชื่อ: wait-zookeeper-configmap
              mountPath: /wait-zookeeper-configmap
            - ชื่อ: wait-zookeeper-emptydir
              mountPath: /wait-zookeeper-emptydir
      ความสัมพันธ์กัน:
        podAntiAffinity:
          ที่ต้องการระหว่างการจัดกำหนดการละเว้นระหว่างการดำเนินการ:
          - น้ำหนัก: 100
            podAffinityเทอม:
              ตัวเลือกป้ายกำกับ:
                การจับคู่นิพจน์:
                - คีย์: แอป
                  ผู้ดำเนินการ: ใน
                  ค่า:
                  -คาฟคา-2
                  -คาฟคา-3
                  {{- ถ้า gt .Values.workerNodesNumber 5.0 }}
                  -คนดูแลสัตว์-1
                  -คนดูแลสัตว์-2
                  -คนดูแลสัตว์-3
                  {{- จบ }}
              โทโพโลยีคีย์: "kubernetes.io/hostname"
      ตู้คอนเทนเนอร์:
        - ชื่อ: คาฟคา1
          ภาพ: confluientinc/cp-kafka:5.4.0
          ทรัพยากร:
            คำขอ:
              หน่วยความจำ: "512Mi"
            ขีด จำกัด :
              หน่วยความจำ: "{{.Values.jvmMaxHeapSizeGb}}Gi"
          พอร์ต:
          - พอร์ตคอนเทนเนอร์: 9092
          สภาพแวดล้อม:
          - ชื่อ: HOST_IP
            มูลค่าจาก:
              fieldRef:
                fieldPath: สถานะ.hostIP
          - ชื่อ: KAFKA_LISTENERS
            ค่า: "PLAINTEXT://0.0.0.0:9092"
          - ชื่อ: KAFKA_ADVERTISED_LISTENERS
            ค่า: "PLAINTEXT://$(HOST_IP):{{ เพิ่ม .Values.startingNodePort 0 }}"
          - ชื่อ: KAFKA_BROKER_ID
            ค่า: "10"
          - ชื่อ: KAFKA_ZOOKEEPER_CONNECT
            ค่า: "ผู้ควบคุมสวนสัตว์-1-0.zoo1-หัวขาด:2181,ผู้ควบคุมสวนสัตว์-2-0.zoo2-หัวขาด:2181,ผู้ควบคุมสวนสัตว์-3-0.zoo3-หัวขาด:2181"
          - ชื่อ: KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR
            ค่า: "3"
          - ชื่อ: KAFKA_DELETE_TOPIC_ENABLE
            ค่า: "จริง"
          - ชื่อ: KAFKA_DEFAULT_REPLICATION_FACTOR
            ค่า: "3"
          - ชื่อ: KAFKA_NUM_PARTITIONS
            ค่า: "{{.Values.defaultPartitionsNumber}}"
          - ชื่อ: KAFKA_LOG_RETENTION_HOURS
            ค่า: "{{.Values.retentionTimeHours}}"
          - ชื่อ: KAFKA_OFFSETS_RETENTION_MINUTES
            ค่า: "{{.Values.retentionTimeHours | mul 60 }}"
          - ชื่อ: JMX_PORT
            ค่า: "{{ เพิ่ม .Values.startingNodePort 3 }}"
          - ชื่อ: KAFKA_JMX_HOSTNAME
            ค่า: "คาฟคา-บริการ-1"
          - ชื่อ: KAFKA_HEAP_OPTS
            ค่า: "-Xms512m -Xmx{{.Values.jvmMaxHeapSizeGb}}G"
          livenessProbe:
            ผู้บริหาร:
              สั่งการ:
              - /ถังขยะ/ทุบตี
              - -ค
              - "ยกเลิกการตั้งค่า JMX_PORT && kafka-broker-api-versions --bootstrap-server=localhost:9092"
            initialDelaySeconds: 60
            periodSeconds: 20
          ปริมาณการติดตั้ง:
            - ชื่อ: "คาฟคาล็อก"
              mountPath: "/var/lib/kafka"
      ปริมาณ:
        - ชื่อ: "รอ Zookeeper-configmap"
          configMap:
            ชื่อ: "kafka-initializer"
            รายการ:
              - คีย์: "wait-zookeeper.sh"
                เส้นทาง: "wait-zookeeper.sh"
        - ชื่อ: "รอ-zookeeper-emptydir"
          ว่างเปล่าDir: {}
  VolumeClaimTemplates:
  - ข้อมูลเมตา:
      ชื่อ: kafka-logs
    ข้อมูลจำเพาะ:
      storageClassName: {{.Values.storageClassName}}
      โหมดการเข้าถึง: ["ReadWriteOnce"]
      ทรัพยากร:
        คำขอ:
          พื้นที่เก็บข้อมูล: {{.Values.storageSizeGb}}Gi
ar flag
เริ่มที่นี่. มันตั้งค่าระดับเสียงให้คุณ - https://strimzi.io

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา