Ubuntu 将Nifi连接到Elasticsearch时出错
我在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 将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中提取数
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 要记住的几件事是
希望这有帮助 全新的机器和校准版,现在一切都进展顺利。谢谢@mattybI遇到了类似的问题。我查看了Elasticsearch日志,发现以下异常:接收到来自不支持版本的消息:[5.0.0]最小兼容版本为:[5.6.0]。我会听答案来解决。