繁体   English   中英

kafka-connect-elasticsearch 如何将多个主题路由到同一连接器中的同一 elasticsearch 索引?

[英]kafka-connect-elasticsearch How to route multiple topics to same elasticsearch index in same connector?

尝试使用以下配置创建 elasticsearch 接收器连接器,创建成功,但是当在“my.topic.one”上生成消息时,ES 接收器连接器在尝试创建名称为“my.topic.one”的索引时失败:“无法创建索引'my.topic.one'”(我用来连接到 ES 的用户没有故意创建索引权限)。 为什么要尝试创建新索引以及如何让连接器索引到以前创建的“elasticsearch_index_name”?

{
            "type.name": "_doc", 
            "tasks.max": "1", 
            "connector.class": "io.confluent.connect.elasticsearch.ElasticsearchSinkConnector", 
            "connection.url": "http://elasticsearch-service:9200", 
            "behavior.on.null.values": "delete", 
            "key.ignore": "false", 
            "write.method": "upsert", 
            "key.converter": "org.apache.kafka.connect.storage.StringConverter", 
            "key.converter.schemas.enable": "false", 
            "value.converter": "org.apache.kafka.connect.storage.StringConverter", 
            "value.converter.schemas.enable": "false", 
            "topics": "my.topic.one,my.topic.two", 
            "transforms": "renameTopic",
            "transforms.renameTopic.type": "org.apache.kafka.connect.transforms.RegexRouter", 
            "transforms.renameTopic.regex": ".*",
            "transforms.renameTopic.replacement": "elasticsearch_index_name"
    } 

更新:即使我在“主题”属性中仅使用一个主题并且在“renameTopic.regex”中使用相同的主题名称,ES sink 连接器也会引发错误,如下所示,rest 所有属性都相同。

"topics": "my.topic.one",
"transforms.renameTopic.regex": "my.topic.one"

将以下属性添加到 ES sink 连接器配置,解决了手头的问题:

"auto.create.indices.at.start": "false"

暂无
暂无

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

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