【发布时间】:2016-02-07 05:36:47
【问题描述】:
我是 ElasticSearch 的新手,在连接到 ElasticSearch 时遇到问题。请查看以下详细信息:
-
当我尝试从我的 scala 代码连接时,我收到以下错误:
org.elasticsearch.client.transport.NoNodeAvailableException: None of the configured nodes are available: [] at org.elasticsearch.client.transport.TransportClientNodesService.ensureNodesAreAvailable(TransportClientNodesService.java:305) at org.elasticsearch.client.transport.TransportClientNodesService.execute(TransportClientNodesService.java:200) at org.elasticsearch.client.transport.support.InternalTransportClient.execute(InternalTransportClient.java:106) at org.elasticsearch.client.support.AbstractClient.index(AbstractClient.java:102) at org.elasticsearch.client.transport.TransportClient.index(TransportClient.java:340) at com.sksamuel.elastic4s.IndexDsl$IndexDefinitionExecutable$$anonfun$apply$1.apply(IndexDsl.scala:23) at com.sksamuel.elastic4s.IndexDsl$IndexDefinitionExecutable$$anonfun$apply$1.apply(IndexDsl.scala:23) at com.sksamuel.elastic4s.Executable$class.injectFuture(Executable.scala:21) at com.sksamuel.elastic4s.IndexDsl$IndexDefinitionExecutable$.injectFuture(IndexDsl.scala:20) at com.sksamuel.elastic4s.IndexDsl$IndexDefinitionExecutable$.apply(IndexDsl.scala:23) at com.sksamuel.elastic4s.IndexDsl$IndexDefinitionExecutable$.apply(IndexDsl.scala:20) at com.sksamuel.elastic4s.ElasticClient.execute(ElasticClient.scala:28)
这是我用于连接的代码:
val settings = ImmutableSettings.settingsBuilder()
.put("cluster.name", "elasticsearch")
.build()
val client = ElasticClient.remote(settings, ElasticsearchClientUri("elasticsearch://10.50.xxx.xxx:9300"))
我还检查了我的连接,我能够在 9200 和 9300 端口上成功 telnet 10.50.xxx.xxx
-
我在某处读到问题可能出在
http.cors,因此我在服务器上的/etc/elasticsearch/elasticsearch.yml文件中添加了以下几行:http.cors.allow-origin: "/.*/" http.cors.enabled: true
请建议我做错了什么?
-- 更新--
感谢 @Evaldas Buinauskas,这是版本问题,我安装了弹性 2.0 版并使用 1.7 版的库和插件。我将我的弹性降级到 1.7 版,一切正常!
【问题讨论】:
-
你能说说你的elasticsearch版本、head插件和scala客户端版本是什么吗? Elasticsearch 在 2.0 中删除了
_statusapi,它在 head 插件中用于确定集群的健康状况,也许您的 Scala 客户端也在使用它。_status被替换为_recovery。 -
谢谢,是版本问题,我安装了elastic 2.0版本,使用的是1.7版本的库和插件。我将我的弹性降级到 1.7 版,一切正常!
标签: scala elasticsearch elasticsearch-plugin