使用Kafka Elasticsearch Connector

时间:2018-03-13 17:32:01

标签: elasticsearch apache-kafka

我正在构建一个简单的聊天应用程序来练习我与Kafka和Elasticsearch的能力。我正在使用Confluent的Kafka及其包含的Kafka Connect Elasticsearch Connector以及Elasticsearch的开源版本。我的应用和Kafka之间的通信使用Kafka-rest API和JSON。我按照说明here

正如说明所述,我在开始其余过程之前运行Elasticsearch。到目前为止,我能够将应用程序中的消息发送到Kafka,然后再回来,没有任何问题。当我在发送消息后运行confluent load elasticsearch-sink时,我得到指令所说的输出。如果我没有发送消息,我就不会得到那个输出,这似乎表明数据流至少在那里工作。但是,当我使用以下命令cURL时,文档状态应该从Elasticsearch获取我的数据......

curl -XGET 'http://localhost:9200/jsontest/_search?pretty'

...我得到以下输出......

{
  "took" : 3,
  "timed_out" : false,
  "_shards" : {
    "total" : 5,
    "successful" : 5,
    "skipped" : 0,
    "failed" : 0
  },
  "hits" : {
    "total" : 0,
    "max_score" : null,
    "hits" : [ ]
  }
}

...其中不包含我的消息。数据应位于hits.hits

请注意我使用的是Elasticsearch 5.6.8版,因为Confluent文档声明版本6.x存在已知问题。另外,我的cURL命令与示例略有不同,因为我的主题是jsontest,而不是test-elasticsearch-sink。我一定会更改quickstart-elasticsearch.properties文件中的主题,以使其正常工作。

如何将数据导入Elasticsearch?

0 个答案:

没有答案