elasticsearch,ubuntu-16.04,apache-nifi,ubuntu-server,Ubuntu,elasticsearch,Ubuntu 16.04,Apache Nifi,Ubuntu Server" /> elasticsearch,ubuntu-16.04,apache-nifi,ubuntu-server,Ubuntu,elasticsearch,Ubuntu 16.04,Apache Nifi,Ubuntu Server" />

Ubuntu 将Nifi连接到Elasticsearch时出错

Ubuntu 将Nifi连接到Elasticsearch时出错,ubuntu,elasticsearch,ubuntu-16.04,apache-nifi,ubuntu-server,Ubuntu,elasticsearch,Ubuntu 16.04,Apache Nifi,Ubuntu Server,我在Ubuntu 16.04.3 LTS的VM实例上安装了Nifi 1.4.0和Elasticsearch 5.6.2 我的目标是使用Nifi从Twitter上提取一些数据,将其存储在Elasticsearch中,最终我将在Kabana中使用这些数据 问题是一切都是独立工作的,也就是说我可以直接从命令行向Elasticsearch添加数据并检索数据。我还可以访问Nifi,我正在成功地从twitter中提取数据,并将其传递给PutellasticSearch处理器 Nifi从Twitter中提取数

我在Ubuntu 16.04.3 LTS的VM实例上安装了Nifi 1.4.0和Elasticsearch 5.6.2

我的目标是使用Nifi从Twitter上提取一些数据,将其存储在Elasticsearch中,最终我将在Kabana中使用这些数据

问题是一切都是独立工作的,也就是说我可以直接从命令行向Elasticsearch添加数据并检索数据。我还可以访问Nifi,我正在成功地从twitter中提取数据,并将其传递给PutellasticSearch处理器

Nifi从Twitter中提取数据然后抛出错误的图片

引发的异常如下所示:
PutElasticsearch[id=fbb5f3cf-015e-1000-8321-71b19eef4054]无法插入Elasticsearch,因为没有任何配置的节点可用:[{#传输#-1}{127.0.0.1}{localhost/127.0.0.1:9300}]。更详细的信息可以在NiFi日志中找到。:NoNodeAvailableException[没有配置的节点可用:[{{transport}-1}{127.0.0.1}{localhost/127.0.0.1:9300}]

在我的研究中,我看到一些人看到了相同的错误,但他们都声称将端口更改为:9300解决了他们的问题。正如您在我的PutellasticSearch处理器配置选项卡的图片中看到的,这不应该是这里的问题

PutElasticsearch处理器配置图


我真的很感谢你的帮助,我被难住了

PutElasticsearch使用本机传输API,它有效地让NiFi节点成为集群的一部分。因此,它对集群的版本与Elasticsearch捆绑包中包含的传输库的版本非常敏感。目前,PutElasticsearch使用传输库的2.1.0版本,这几乎肯定与5.6.2集群不兼容。我应该提到的是,有一个PutellasticSearch5处理器使用5.0.1版本的库,但由于次要版本的巨大差异,它可能也与5.6.2集群不兼容


但是,Elasticsearch处理器有一组“Http”版本(如和),它们使用RESTAPI与集群通信。由于RESTAPI在ES版本中更为稳定,因此通常可以使用它们来实现您的目标。折衷是在性能上,由于与集群的额外通信开销,处理器的Http版本稍微慢一些

请使用Nifi 1.4.0和elasticsearch-5.6.5以及PutElasticsearch5作为处理器。这对我很有用。

我对PutElasticsearch和PutElasticseach5也有同样的问题,所以我切换到了PutElasticsearchHttp。这稍微慢了一点,但确实有效-我已经用ES版本6.5.2和6.3.1进行了测试,因此肯定适用于5.6.2

要记住的几件事是

  • 确保使用HTTP端口-默认值为localhost:9200
  • 如果您的json流是单行,您可能希望在将其传递给PutellasticSearchHTTP之前将其拆分。否则它会给你一个解析错误。见下图:

  • 希望这有帮助

    全新的机器和校准版,现在一切都进展顺利。谢谢@mattybI遇到了类似的问题。我查看了Elasticsearch日志,发现以下异常:接收到来自不支持版本的消息:[5.0.0]最小兼容版本为:[5.6.0]。我会听答案来解决。