繁体   English   中英

Kafka-connect 动态添加更多主题

[英]Kafka-connect add more topics on the fly

我有一个使用一些主题的elasticsearch kafka-connect
使用以下配置:

{
    connection.url": "https://my-es-cluster:443",
    "connector.class": "io.confluent.connect.elasticsearch.ElasticsearchSinkConnector",
    "key.converter": "org.apache.kafka.connect.storage.StringConverter",
    "key.ignore": "true",
    "topics": "topic1,topic2",
    ...
}

我可以在它运行时向它添加更多主题吗?
会发生什么?
如果我从列表中删除一些主题并稍后再次添加它们会怎样。

我想在这里添加一个新的topic3

{
    ...
    "topics": "topic1,topic2,topic3",
    ...
}

什么是我删除topic2 是否会重新使用其他主题?:

{
    ...
    "topics": "topic1,topic3",
    ...
}

由于您已经运行了kafkakafka-connect ,您可以使用kafka-connect REST API 并kafka-connect检查: https : //docs.confluent.io/current/connect/references/restapi.html

如果您添加一个新主题 ( topic3 ),则当前在该主题中的所有消息(根据保留策略)都将被使用。

PUT http://kafka-connect:8083/connectors/my-test-connector/config
{
   ...
   "topics": "topic1,topic2,topic3",
   ...
}

检查此连接器的状态和配置:

GET http://kafka-connect:8083/connectors/my-test-connector

如果您想禁用某个主题,只需使用PUT来更新该连接器的配置。

PUT http://kafka-connect:8083/connectors/my-test-connector/config
{
   ...
   "topics": "topic1,topic3",
   ...
}

什么都不会改变对topic1topic3 只是topic2将不再被消耗。
但是如果你想返回它,来自topic2消息将从最后提交的偏移量开始消费,而不是从头开始。

对于存储的每个consumer group上次提交的offset ,您从配置中删除主题一段时间都没有关系。 对于这种情况,消费者组将是connect-my-test-connector

即使您删除连接器( DELETE http://kafka-connect:8083/connectors/my-test-connector )然后使用相同的名称再次创建它,偏移量将被保存,并且将从它们点继续消费当你删除它时。 (注意保留政策,通常是 7 天)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM