尝试使用以下配置创建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"
}
更新:即使我仅在“ topics”属性中使用一个主题,并在“ renameTopic.regex”中使用相同的主题名称,ES接收器连接器也会引发错误,如下所示,所有属性均保持不变。
"topics": "my.topic.one",
"transforms.renameTopic.regex": "my.topic.one"
答案 0 :(得分:0)
在ES接收器连接器配置中添加以下属性,解决了手头的问题:
"auto.create.indices.at.start": "false"