【发布时间】:2020-09-06 05:42:48
【问题描述】:
尝试使用以下配置创建弹性搜索接收器连接器,创建成功,但是当在“my.topic.one”上生成消息时,ES 接收器连接器在尝试创建名称为“my.topic.one”的索引时失败" : "Could not create index '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"
}
更新:即使我在“topics”属性中只使用一个主题并且在“renameTopic.regex”中使用相同的主题名称,ES sink 连接器也会引发错误,如下所示,其余所有属性相同。
"topics": "my.topic.one",
"transforms.renameTopic.regex": "my.topic.one"
【问题讨论】:
标签: elasticsearch apache-kafka-connect