首页 > 解决方案 > debezium 连接器的多个复制槽

问题描述

我想创建具有不同复制槽的多个 debezium 连接器。但我无法为 postgres debezium 连接器创建多个复制槽。

我正在为 Postgres 和 kafka 使用 docker 容器。我尝试在 postgressql.conf 文件中设置 max_replication_slots = 2 以及不同的 slot.name。但它仍然没有为我创建 2 个复制槽。

{
    "config": {
        "batch.size": "49152",
        "buffer.memory": "100663296",
        "compression.type": "lz4",
        "connector.class": "io.debezium.connector.postgresql.PostgresConnector",
        "database.dbname": "Db1",
        "database.hostname": "DBhost",
        "database.password": "dbpwd",
        "database.port": "5432",
        "database.server.name": "serve_name",
        "database.user": "usename",
        "decimal.handling.mode": "double",
        "hstore.handling.mode": "json",
        "key.converter": "org.apache.kafka.connect.json.JsonConverter",
        "name": "debezium-702771",
        "plugin.name": "wal2json",
        "schema.refresh.mode": "columns_diff_exclude_unchanged_toast",
        "slot.drop_on_stop": "true",
        "slot.name": "debezium1",
        "table.whitelist": "tabel1",
        "time.precision.mode": "adaptive_time_microseconds",
        "transforms": "Reroute",
        "transforms.Reroute.topic.regex": "(.*).public.(.*)",
        "transforms.Reroute.topic.replacement": "$1.$2",
        "transforms.Reroute.type": "io.debezium.transforms.ByLogicalTableRouter",
        "value.converter": "io.confluent.connect.avro.AvroConverter",
        "value.converter.schema.registry.url": "http://schema-registry:8081"
    },
    "name": "debezium-702771",
    "tasks": [],
    "type": "source"
}

{
    "config": {
        "batch.size": "49152",
        "buffer.memory": "100663296",
        "compression.type": "lz4",
        "connector.class": "io.debezium.connector.postgresql.PostgresConnector",
        "database.dbname": "Db1",
        "database.hostname": "DBhost",
        "database.password": "dbpwd",
        "database.port": "5432",
        "database.server.name": "serve_name",
        "database.user": "usename",
        "decimal.handling.mode": "double",
        "hstore.handling.mode": "json",
        "key.converter": "org.apache.kafka.connect.json.JsonConverter",
        "name": "debezium-702772",
        "plugin.name": "wal2json",
        "schema.refresh.mode": "columns_diff_exclude_unchanged_toast",
        "slot.drop_on_stop": "true",
        "slot.name": "debezium2",
        "table.whitelist": "tabel1",
        "time.precision.mode": "adaptive_time_microseconds",
        "transforms": "Reroute",
        "transforms.Reroute.topic.regex": "(.*).public.(.*)",
        "transforms.Reroute.topic.replacement": "$1.$2",
        "transforms.Reroute.type": "io.debezium.transforms.ByLogicalTableRouter",
        "value.converter": "io.confluent.connect.avro.AvroConverter",
        "value.converter.schema.registry.url": "http://schema-registry:8081"
    },
    "name": "debezium-702772",
    "tasks": [],
    "type": "source"
}

即使给出不同的插槽名称,它也会创建多个连接器,但不会创建多个复制插槽。我需要在这里做点什么吗。

标签: postgresqldebezium

解决方案


推荐阅读