- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在 Docker
上运行 ElasticSearch
,它在本地可用
$ curl http://192.168.99.100:9200/?pretty
{
"status" : 200,
"name" : "Collector",
"cluster_name" : "elasticsearch",
"version" : {
"number" : "1.4.4",
"build_hash" : "c88f77ffc81301dfa9dfd81ca2232f09588bd512",
"build_timestamp" : "2015-02-19T13:05:36Z",
"build_snapshot" : false,
"lucene_version" : "4.10.3"
},
"tagline" : "You Know, for Search"
}
我正在使用 Elastic4s ,为了连接到 ElasticSearch
,我尝试了以下方法,但所有方法都给了我错误
val client = ElasticClient.remote(host = "192.168.99.100", port = 9200)
和
val settings = ImmutableSettings.settingsBuilder().put("cluster.name", "elasticsearch").build()
val uri = ElasticsearchClientUri("elasticsearch://192.168.99.100:9200")
val client = ElasticClient.remote(uri)
错误是
Exception in thread "main" 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)
at com.enterpriseconnector.persistence.Elastic$.insert(Elastic.scala:17)
at com.enterpriseconnector.persistence.Test$$anonfun$1.apply(Elastic.scala:27)
at com.enterpriseconnector.persistence.Test$$anonfun$1.apply(Elastic.scala:24)
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:245)
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:245)
at scala.collection.immutable.Range.foreach(Range.scala:166)
at scala.collection.TraversableLike$class.map(TraversableLike.scala:245)
at scala.collection.AbstractTraversable.map(Traversable.scala:104)
at com.enterpriseconnector.persistence.Test$.delayedEndpoint$com$enterpriseconnector$persistence$Test$1(Elastic.scala:24)
at com.enterpriseconnector.persistence.Test$delayedInit$body.apply(Elastic.scala:23)
at scala.Function0$class.apply$mcV$sp(Function0.scala:34)
at scala.runtime.AbstractFunction0.apply$mcV$sp(AbstractFunction0.scala:12)
at scala.App$$anonfun$main$1.apply(App.scala:76)
at scala.App$$anonfun$main$1.apply(App.scala:76)
at scala.collection.immutable.List.foreach(List.scala:381)
at scala.collection.generic.TraversableForwarder$class.foreach(TraversableForwarder.scala:35)
at scala.App$class.main(App.scala:76)
at com.enterpriseconnector.persistence.Test$.main(Elastic.scala:23)
at com.enterpriseconnector.persistence.Test.main(Elastic.scala)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:140)
我的完整代码是
import java.util.Calendar
import com.sksamuel.elastic4s.{ElasticsearchClientUri, ElasticClient}
import com.sksamuel.elastic4s.ElasticDsl._
import com.sksamuel.elastic4s.source.StringDocumentSource
import org.elasticsearch.common.settings.ImmutableSettings
object Elastic {
println("Creating Elastic Connection")
val settings = ImmutableSettings.settingsBuilder().put("cluster.name", "elasticsearch").build()
val uri = ElasticsearchClientUri("elasticsearch://192.168.99.100:9200")
val client = ElasticClient.remote(uri)
def insert(monitorJson: String) = {
client execute {
index into "test" -> "elastic4s" doc StringDocumentSource(monitorJson)
}
}
}
object Test extends App {
for (_ <- 1 to 100) yield {
val json: String = s"{time: ${Calendar.getInstance().getTime()}}"
println(s"inserting ${json}")
Elastic.insert(json)
}
}
最佳答案
9200 是通过 HTTP 连接的端口,这就是它在您的浏览器中工作的原因。如果您检查堆栈跟踪的顶部,您可以在您的案例中看到您正在通过传输客户端(即 TCP)进行连接,因此您需要改用端口 9300。试试这个:
val uri = ElasticsearchClientUri("elasticsearch://192.168.99.100:9300")
val client = ElasticClient.remote(uri)
关于java - org.elasticsearch.client.transport.NoNodeAvailableException : None of the configured nodes are available: [],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32277401/
我有一个带有Post模型和 Controller 的Rails应用,并且正在使用ActiveAdmin for CMS。我已经实现了ElasticSearch和SearchKick,现在正尝试使用Se
我在Rails应用中使用了elasticsearch gem。我正在尝试执行基本搜索,并按与当前位置的距离对结果进行排序。但是尝试搜索时出现以下错误: [400] {"error":{"root_ca
在我的 Rails 应用程序中,安装了“elasticsearch-model”和“elasticsearch-rails”gems,elasticsearch (v5.1.1) 在默认端口上运行,模
有时批量发布时会出现暂时失败的项目错误 Transport service unable to transport 多次刷新发布队列将导致返回成功。为什么会发生这种情况? 最佳答案 我认为一旦发布事务
当我尝试使用 elasticsearch 进行索引时收到此消息。我已经尝试过 elasticsearch-rails gem 和 searchkick gem。我们正在在线创建和编辑电子类(class
错误:未找到传输方式,或所选传输方式尚不支持! 当我调用网络服务时会发生此错误。 这是我的代码: include("lib/bankmellat/nusoap.php"); $client = new
在本地环境中工作时不确定 elasticsearch我收到这个奇怪的错误,任何帮助我都会很感激。谢谢 Elasticsearch::Transport::Transport::Errors::NotF
RoundTripper 界面是这样的 type RoundTripper interface { RoundTrip(*Request) (*Response, error) } 内部net
我正在尝试使用以下程序来显示从端口 8888 收到的消息。我编译了以下代码,没有任何错误和警告。 运行后,我用浏览器打开127.0.0.1:8888 然后,控制台显示: read: Transport
使用 socket.io v1.2.1(仅使用“轮询”传输),有时我的客户会遇到断开连接。 大约 50% 的时间我在断开连接事件回调函数中得到 ping timeout,这是合理的。 其他时候,我得到
我使用嵌入式代理 ActiveMq 并从 JavaScript 应用程序连接到它。使用的协议(protocol)是 STOMP over WebSocket。 Spring 的 XML 配置:
看来我已经根据http://dev.apollodata.com/tools/apollo-server/setup.html上的Apollo文档设置了服务器。在我的server/main.js文件中
我已经将Xcode升级到Xcode 7,并在pList中包括了App Transport Security(ATS)功能。目前,我已通过将YES分配给NSAllowsArbitraryLoads来禁用
我是Elasticsearch的新手,试图连接到运行1.5.2版的远程集群。我已将相同版本的Maven依赖项添加到我的项目中。我正在使用以下Scala代码初始化Transport客户端: val se
import matplotlib.pyplot as plt import numpy as np from sklearn import datasets, linear_model # Crea
我正在尝试制作这个简单的服务器脚本,其中多个客户端连接到它并存储在 factory.connected_clients 字典中。然后我想显示一个菜单,以便执行服务器的用户可以选择他想要使用的客户端以及
大家好, 我们正在设计一个电视模块。在当前的架构中,我们有两个独立的设备,每个设备都在 Atom 处理器上运行 Linux。我们需要通过网络将实时传输流从一台设备传输到另一台设备。我尝试寻找在Linu
我正在尝试测试 Android auto backup .我在 7.1 设备上,应用程序 list 包含:android:fullBackupOnly="true" .当我发出 adb shell b
该方法是静态的,但我找不到它是否是线程安全的。我计划同时使用多个线程执行此方法,并且我想尽可能避免使用同步块(synchronized block)。 javax.mail.Transport.sen
我正在尝试将 Meek 集成到 Android 应用程序中。这里有一个示例展示了如何实例化传输: https://github.com/guardianproject/AndroidPluggable
我是一名优秀的程序员,十分优秀!