作者:水急送_113 | 来源:互联网 | 2023-10-16 12:54
我正在使用sql-server kafka-connect和debezium监视sql server数据库,但是当我发布并运行我的worker时,已经使用名称{server_name}。{schema_name}。{table_name}创建了该主题。即使我在“ bootstrap.servers”参数中指定了两个代理,默认分区也= 1&复制= 1。如何手动更改表主题的分区和复制,或者预先在worker / connector配置中指定?
有2个选项:
- 您可以在启动debezium连接器之前,使用所需的分区数和复制因子为每个表创建主题。这是可能的,因为数据库服务器,模式和表名是已知的(在配置中指定)。
-
即使连接器正在运行,也只需修改主题以增加分区数和复制因子。例如
./kafka-topics.sh --zookeeper localhost:2181 --alter --topic server.schema.table --partitions 5
请注意,此之前的所有消息都将在一个分区中,而新记录将被分发(基于kafka键哈希)。
,
此文档https://debezium.io/documentation/reference/1.0/install.html#_configuring_debezium_topics描述了如何配置主题。
请记住,自动创建主题时(这是Kafka代理设置),然后它们将使用Kafka代理的默认主题设置。
因此,您应该预先手动创建它们,或者更改Kafka代理默认值,或者使用kafka-topics.sh
工具来更改复制。