我第一次尝试写一条河流。(这里是源代码)
为了部署河流,我创建了一个名为 的文件夹example-river
,将我的 jar 放在该文件夹中,然后重新启动节点。一切开始正常。
我也试过bin/plugin --url file:///path/to/plugin --install example-river
,这似乎有效,但它解开了我的罐子。
当我发出这个 PUT 请求时:
http://localhost:9200/_river/example_river/_meta
{
"type": "example_river",
"example_river":{
"blah":"blah"
}
}
我得到这个例外:
[2014-04-20 22:28:46,538][DEBUG][river] [悲观] 创建河流 [example_river][example_river] [2014-04-20 22:28:46,543][WARN][river] [悲观]无法创建河流 [example_river][example_river] org.elasticsearch.common.settings.NoClassSettingsException:无法在 org.elasticsearch.river.RiverModule.loadTypeModule(RiverModule.java:87) 的 org.elasticsearch 加载具有值 [example_river] 的类.river.RiverModule.spawnModules(RiverModule.java:58) 在 org.elasticsearch.common.inject.ModulesBuilder.add(ModulesBuilder.java:44) 在 org.elasticsearch.river.RiversService.createRiver(RiversService.java:137) 在org.elasticsearch.river.RiversService$ApplyRivers$2.onResponse(RiversService.java:275) 在 org.elasticsearch.river.RiversService$ApplyRivers$2。onResponse(RiversService.java:269) at org.elasticsearch.action.support.TransportAction$ThreadedActionListener$1.run(TransportAction.java:93) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent .ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) 原因:java.lang.ClassNotFoundException: example_river at java.net.URLClassLoader$1.run(Unknown Source) at java.net。 URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher $AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at org.elasticsearch.river.RiverModule。loadTypeModule(RiverModule.java:73) ... 还有 9 个
有人可以指出我缺少什么吗?