我正在使用play 2弹性搜索插件(https://github.com/cleverage/play2-elasticsearch)并且在开发模式下工作正常,但是当我运行play dist并打包应用程序时,在运行它之后,索引不会被创建。
这是stacktrace:
[error] application - ElasticSearch:启动ElasticSearch Client时出错 org.elasticsearch.ElasticSearchIllegalStateException:无法获取节点锁定,以下位置是否可写?:[data / play2-elasticsearch] 在org.elasticsearch.env.NodeEnvironment。(NodeEnvironment.java:123)~ [org.elasticsearch.elasticsearch-0.90.5.jar:na] at org.elasticsearch.node.internal.InternalNode。(InternalNode.java:139)~ [org.elasticsearch.elasticsearch-0.90.5.jar:na] 在org.elasticsearch.node.NodeBuilder.build(NodeBuilder.java:159)〜[org.elasticsearch.elasticsearch-0.90.5.jar:na] 在org.elasticsearch.node.NodeBuilder.node(NodeBuilder.java:166)~ [org.elasticsearch.elasticsearch-0.90.5.jar:na] at com.github.cleverage.elasticsearch.IndexClient.start(IndexClient.java:36)〜[com.clever-age.play2-elasticsearch-0.8-SNAPSHOT.jar:0.8-SNAPSHOT] at com.github.cleverage.elasticsearch.plugin.IndexPlugin.onStart(IndexPlugin.java:47)〜[com.clever-age.play2-elasticsearch-0.8-SNAPSHOT.jar:0.8-SNAPSHOT] 引起:java.io.IOException:无法获得锁定/ Users / Nicolas / IdeaProjects / lavidaporloscolores / target / universal / stage / data / play2-elasticsearch / nodes / 49 在org.elasticsearch.env.NodeEnvironment。(NodeEnvironment.java:102)~ [org.elasticsearch.elasticsearch-0.90.5.jar:na] at org.elasticsearch.node.internal.InternalNode。(InternalNode.java:139)~ [org.elasticsearch.elasticsearch-0.90.5.jar:na] 在org.elasticsearch.node.NodeBuilder.build(NodeBuilder.java:159)〜[org.elasticsearch.elasticsearch-0.90.5.jar:na] 在org.elasticsearch.node.NodeBuilder.node(NodeBuilder.java:166)~ [org.elasticsearch.elasticsearch-0.90.5.jar:na] at com.github.cleverage.elasticsearch.IndexClient.start(IndexClient.java:36)〜[com.clever-age.play2-elasticsearch-0.8-SNAPSHOT.jar:0.8-SNAPSHOT] at com.github.cleverage.elasticsearch.plugin.IndexPlugin.onStart(IndexPlugin.java:47)〜[com.clever-age.play2-elasticsearch-0.8-SNAPSHOT.jar:0.8-SNAPSHOT] 引起:java.io.IOException:无法创建目录:/ Users / Nicolas / IdeaProjects / lavidaporloscolores / target / universal / stage / data / play2-elasticsearch / nodes / 49 在org.apache.lucene.store.NativeFSLock.obtain(NativeFSLockFactory.java:171)〜[org.apache.lucene.lucene-core-4.4.0.jar:4.4.0 1504776 - sarowe - 2013-07-19 02 :53:42] 在org.elasticsearch.env.NodeEnvironment。(NodeEnvironment.java:80)〜[org.elasticsearch.elasticsearch-0.90.5.jar:na] at org.elasticsearch.node.internal.InternalNode。(InternalNode.java:139)~ [org.elasticsearch.elasticsearch-0.90.5.jar:na] 在org.elasticsearch.node.NodeBuilder.build(NodeBuilder.java:159)〜[org.elasticsearch.elasticsearch-0.90.5.jar:na] 在org.elasticsearch.node.NodeBuilder.node(NodeBuilder.java:166)~ [org.elasticsearch.elasticsearch-0.90.5.jar:na] at com.github.cleverage.elasticsearch.IndexClient.start(IndexClient.java:36)〜[com.clever-age.play2-elasticsearch-0.8-SNAPSHOT.jar:0.8-SNAPSHOT] [error] application - ElasticSearch:索引准备期间发生了意外异常。索引尚未创建和准备。 java.lang.NullPointerException:null at com.github.cleverage.elasticsearch.IndexService.existsIndex(IndexService.java:378)~ [com.clever-age.play2-elasticsearch-0.8-SNAPSHOT.jar:0.8-SNAPSHOT] at com.github.cleverage.elasticsearch.plugin.IndexPlugin.onStart(IndexPlugin.java:58)〜[com.clever-age.play2-elasticsearch-0.8-SNAPSHOT.jar:0.8-SNAPSHOT] at play.api.Play $$ anonfun $ start $ 1 $$ anonfun $ apply $ mcV $ sp $ 1.apply(Play.scala:88)[com.typesafe.play.play_2.10-2.2.0.jar:2.2。 0] at play.api.Play $$ anonfun $ start $ 1 $$ anonfun $ apply $ mcV $ sp $ 1.apply(Play.scala:88)[com.typesafe.play.play_2.10-2.2.0.jar:2.2。 0] 在scala.collection.immutable.List.foreach(List.scala:318)[org.scala-lang.scala-library-2.10.2.jar:na] at play.api.Play $$ anonfun $ start $ 1.apply $ mcV $ sp(Play.scala:88)[com.typesafe.play.play_2.10-2.2.0.jar:2.2.0]
有什么想法吗?感谢
答案 0 :(得分:1)
找到解决方案:
在application.conf上添加以下行:
创建此文件conf / elasticsearch.yml并添加
执行此操作后,我必须再次运行“play dist”以使播放读取我的新配置文件