无法将stormcrawler连接到安全的elasticsearch

wn9m85ua  于 2021-06-24  发布在  Storm
关注(0)|答案(1)|浏览(385)

我得到下面的错误
nonodeavailableexception[没有配置的节点可用:[{transport#-1}{buksp622tfwnqm_2-pxqqg}{xx}{10.240.49.79:2309}]]位于org.elasticsearch.client.transport。
尝试连接到安全的elasticsearch群集时。
此设置适用于未启用xpack的elasticsearch。如何将storm crawler连接到安全elasticsearch?

drnojrws

drnojrws1#

不确定这是否可行,取决于版本等。。。但首先,您需要将shield 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.shieldplugin es.status.settings:cluster.name:“enter\u cluster\u name”shield.user:“transport\u client”_user:changeme"
transportexample.java可能是一个很好的例子,它列出了所有需要的设置。
请注意,elastic cloud目前无法与6.1.x及更高版本的transportclient配合使用,这正是stormcrawler的主分支所在。您可以将sc的es模块降级到旧版本,并参考相应的文档。
另一种选择是移植代码以使用高级rest客户机,请参阅迁移指南,但这是一项相当艰巨的任务。
更新:请看分支esrestapi。我已经更改了代码,以便它使用es rest客户机。这适用于ElasticCloud6.2,您只需指定

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

到每个索引的配置。这些地址现在使用协议、主机名和端口的普通url。
如果你能用的话请告诉我。

相关问题