无法将StormCrawler连接到安全的Elasticsearch

问题描述 投票:0回答:1

我收到以下错误

noNodeAvailableException [所有已配置的节点都不可用:[{#transport#-1} {buKSP622TFWnQm_2-PxqQg} {xxxxxxxx} {10.240.49.79:2309}]]在org.elasticsearch.client.transport。

尝试连接到安全的elasticsearch集群时。

该设置适用于非xpack启用的elasticsearch。如何将风暴爬虫连接到安全弹性搜索?

elasticsearch web-crawler apache-storm stormcrawler
1个回答
0
投票

不确定这是否会起作用,具体取决于版本等...但首先,您需要将盾牌jar添加到类路径中,如java client with shield中所述。这可以通过Maven轻松完成

 <repositories>
  <!-- add the elasticsearch repo -->
  <repository>
     <id>elasticsearch-releases</id>
     <url>https://maven.elasticsearch.org/releases</url>
     <releases>
        <enabled>true</enabled>
     </releases>
     <snapshots>
        <enabled>false</enabled>
     </snapshots>
  </repository>

[...]

      <dependency>
     <groupId>org.elasticsearch.plugin</groupId>
     <artifactId>shield</artifactId>
     <version>2.2.0</version>
  </dependency>

其他所有内容都可以通过配置完成,用于状态索引

es.status.plugins:org.elasticsearch.shield.ShieldPlugin es.status.settings:cluster.name:“ENTER_CLUSTER_NAME”shield.user“:”transport_client_user:changeme“

TransportExample.java可能是一个很好的例子,列出了所需的所有设置。

请注意,Elastic Cloud当前不适用于版本6.1.x及更高版本中的TransportClient,这是StormCrawler的主分支所在。您可以降级到SC的旧版ES模块,并参考相应的文档。

另一个选择是移植代码以使用高级rest客户端,请参阅migration guide但这是一项非常重要的任务。

更新:请看分支ESRestAPi。我已经更改了代码,以便它使用ES REST客户端。这适用于Elastic Cloud 6.2,您需要做的就是指定

  es.status.user: "USERNAME"
  es.status.password: "PASSWORD"

到每个索引的配置。地址现在使用协议,主机名和端口的普通URL。

如果你让它工作,请告诉我。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.