elasticsearch falha periodicamente no Ubuntu com o systemd: como resolver isso?

3

Estou usando o Elasticsearch no Ubuntu 14.10 e ele está caindo periodicamente (inserindo um estado com falha). Quando inativo, isso gera exceções no meu site, os usuários não podem pesquisar, conectar ou atualizar o banco de dados corretamente.

Quando obtenho o status do serviço, se estiver em execução, tenho:

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...

Eu configurei o systemd para sempre reiniciar o serviço se estiver inativo, o que funciona, mas ainda assim ele fica a cada hora mais ou menos.

Como posso descobrir o motivo disso?

EDIT1: Encontrei alguns arquivos de log do elasticsearch em var / logs / elasticsearch. Eu tenho um elemento repetitivo:

[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

Ainda não tenho certeza, mas descobri que o elasticsearch funciona melhor com apostas no java 1.7u55: link

E como mudar para esta versão: link

    
por Sébastien 15.04.2015 / 18:00

0 respostas