大家好,我有一个案例,当我使用Kafka Connect API将数据下沉到Elasticsearch时。现在,我对此有疑问。我的配置文件很简单
name=elasticsearch-sink
connector.class=io.confluent.connect.elasticsearch.ElasticsearchSinkConnector
tasks.max=5
topics=myTopicKafka
topic.index.map=myTopicKafka:myIndexES-1
schema.ignore=true
key.ignore=true
connection.url=http://elasticsearch:9200
type.name=kafka-connect
batch.size=200
#linger.ms=500
但是在ES中,我使用Curator来滚动索引
actions:
# 1:
# action: create_index
# description: 'Create mwe.resource.locate index'
# options:
# name: 'myIndexES-1-%Y-%m-%d-1'
2:
action: rollover
description: >-
Rollover the index associated with alias 'myIndexES', after exceeds 500MB memory or is a day old
options:
name: all_myIndexES
conditions:
max_age: 1d
max_size: 500mb
这将每500MB创建一个新索引,但是索引名称为myIndexES-00002,myIndexES-00003,依此类推。所以我的问题是如何使用Kafka Connect API支持这一点
答案 0 :(得分:1)
使用Rollover API时,应该写一个指向单个索引的别名。
这意味着在您的elasticsearch-sink配置中,您应该改为使用它:
topic.index.map=myTopicKafka:myIndexES-write
在Curator configuration中,您应该具有一个name属性,其中包含别名。
options:
name: 'myIndexES-write'