我正在尝试使用kafka connect elasticsearch发送数据从apache kafka producer到弹性搜索
在elasticsearch中出现以下错误:
[2017-12-21T11:00:54,979][DEBUG][o.e.a.b.TransportShardBulkAction]
[pageviews7][0] failed to execute bulk item (index) BulkShardRequest
[[pageviews7][0]] containing [index {[pageviews7][kafkaconnect]
[pageviews7+0+0], source[{"key1":"value1"}]}]
org.elasticsearch.index.mapper.MapperParsingException: failed to find
type parsed [string] for [key1]
以下是我的kafka-connect-elasticsearch属性文件:
name=elasticsearch-sink
connector.class=
io.confluent.connect.elasticsearch.ElasticsearchSinkConnector
tasks.max=1
topics=pageviews7
key.ignore=true
connection.url=http://localhost:9200
type.name=kafkaconnect
schemas.enable=false
schema.ignore=true
答案 0 :(得分:0)
这看起来像是将文档索引到Elasticsearch中的问题:
如何手动卷入ES的示例:
curl -XPOST <ES-url>/pageviews7/test_id -d '{"key1":"value1"}'
删除当前的inedex:
curl -XDELETE <ES-url>/pageviews7
答案 1 :(得分:0)
尝试使用stream-reactor
Kafka连接器进行弹性搜索。一个使用TCP协议,另一个使用HTTP协议,并且它们已经在生产中每天将5亿个事件下降到ES索引中进行了经过实战测试,它们非常易于配置并且记录良好
答案 2 :(得分:0)
您运行的是哪个版本的Elasticsearch?您可以在Kafka Connect连接器配置中设置schema.ignore=true
以解决此错误。