Debezium 2.0 汇合 AvroConverter 无法工作

问题描述 投票:0回答:2

自从 debezium 2.0 决定删除 io.confluence.connect.avro.AvroConverter 我尝试直接注入它,但它一直给我以下错误:

这是我的简化部署:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: debezium
spec:
  template:
    spec:
      initContainers:
        - name: download-kafka-connect-plugins
          image: alpine:3.16.2
          command:
            - sh
          args:
            - -c
            - |
              wget https://packages.confluent.io/maven/io/confluent/kafka-connect-avro-converter/7.2.2/kafka-connect-avro-converter-7.2.2.jar
              cp kafka-connect-avro-converter-7.2.2.jar /kafka/connect-plugins

          volumeMounts:
            - name: kafka-connect-plugins
              mountPath: /kafka/connect-plugins

      volumes:
        - name: kafka-connect-plugins
          emptyDir: {}

      containers:
        - name: debezium-intelipost
          image: debezium/connect:2.0.0.Final

          volumeMounts:
            - name: kafka-connect-plugins
              mountPath: /kafka/connect-plugins

          env:
            - name: KAFKA_CONNECT_PLUGINS_DIR
              value: /kafka/connect-plugins

我还尝试注入 kafka-schema-registry-client 和许多其他组件,但我无法使其工作。有人遇到类似问题吗

乔纳森。

avro confluent-schema-registry debezium debezium-server
2个回答
0
投票

通过创建自己的

debezium/connect-base
来解决:

FROM debezium/connect-base:2.0

#
# Set up the plugins directory ...
#
ENV CONFLUENT_VERSION=7.0.1 \
    AVRO_VERSION=1.10.1 \
    GUAVA_VERSION=31.0.1-jre

RUN docker-maven-download confluent kafka-connect-avro-converter "$CONFLUENT_VERSION" fd03a1436f29d39e1807e2fb6f8e415a && \
    docker-maven-download confluent kafka-connect-avro-data "$CONFLUENT_VERSION" d27f30e9eca4ef1129289c626e9ce1f1 && \
    docker-maven-download confluent kafka-avro-serializer "$CONFLUENT_VERSION" c72420603422ef54d61f493ca338187c && \
    docker-maven-download confluent kafka-schema-serializer "$CONFLUENT_VERSION" 9c510db58119ef66d692ae172d5b1204 && \
    docker-maven-download confluent kafka-schema-registry-client "$CONFLUENT_VERSION" 7449df1f5c9a51c3e82e776eb7814bf1 && \
    docker-maven-download confluent common-config "$CONFLUENT_VERSION" aab5670de446af5b6f10710e2eb86894 && \
    docker-maven-download confluent common-utils "$CONFLUENT_VERSION" 74bf5cc6de2748148f5770bccd83a37c && \
    docker-maven-download central org/apache/avro avro "$AVRO_VERSION" 35469fee6d74ecbadce4773bfe3a204c && \
    docker-maven-download central com/google/guava guava "$GUAVA_VERSION" bb811ca86cba6506cca5d415cd5559a7

以及基于创建的连接库的自己的连接:

FROM "YOUR_IMAGE_REGISTRY"

ENV DEBEZIUM_VERSION="2.0.0.Final" \
    MAVEN_REPO_CENTRAL="" \
    MAVEN_REPOS_ADDITIONAL="" \
    MAVEN_DEP_DESTINATION=$KAFKA_CONNECT_PLUGINS_DIR \
    MONGODB_MD5=791bd20687aa3b2d1edfe951f8437520 \
    MYSQL_MD5=8d1911732f298484572199de423f6c7b \
    POSTGRES_MD5=02cdddbfe5cd2555b66dafe0ddfb8237 \
    SQLSERVER_MD5=36f9a98d33ca691ff8774f43cf8257ff \
    ORACLE_MD5=2ff310589236a823614a95ec0ce15467 \
    DB2_MD5=42ec53aa26ff6626a7a2a67cdc9a2223 \
    VITESS_MD5=f45966b21a4d548108cd4006421406cb \
    SCRIPTING_MD5=44a85ea8f0c502fa74f4ee516d331728

RUN docker-maven-download debezium mongodb "$DEBEZIUM_VERSION" "$MONGODB_MD5" && \
    docker-maven-download debezium mysql "$DEBEZIUM_VERSION" "$MYSQL_MD5" && \
    docker-maven-download debezium postgres "$DEBEZIUM_VERSION" "$POSTGRES_MD5" && \
    docker-maven-download debezium sqlserver "$DEBEZIUM_VERSION" "$SQLSERVER_MD5" && \
    docker-maven-download debezium oracle "$DEBEZIUM_VERSION" "$ORACLE_MD5" && \
    docker-maven-download debezium-additional db2 db2 "$DEBEZIUM_VERSION" "$DB2_MD5" && \
    docker-maven-download debezium-additional vitess vitess "$DEBEZIUM_VERSION" "$VITESS_MD5" && \
    docker-maven-download debezium-optional scripting "$DEBEZIUM_VERSION" "$SCRIPTING_MD5"

0
投票

您可以尝试以下操作:在此处输入链接描述 您不需要更改 debezium/connect 图像。

© www.soinside.com 2019 - 2024. All rights reserved.