geerlingguy / ansible-role-elasticsearch

Ansible Role - Elasticsearch
https://galaxy.ansible.com/geerlingguy/elasticsearch/
MIT License
185 stars 209 forks source link

Elasticsearch does not work out of the box with older Java versions #6

Closed muelli closed 8 years ago

muelli commented 9 years ago

When attempting to run Elasticsearch from the ELK example, I get the following error:

[2015-06-17 08:50:43,297][ERROR][bootstrap                ] {1.4.5}: Initializa
tion Failed ...
- RuntimeException[Java version: 1.7.0_51 suffers from critical bug https://bug
s.openjdk.java.net/browse/JDK-8024830 which can cause data corruption.
Please upgrade the JVM, see http://www.elastic.co/guide/en/elasticsearch/refere
nce/current/_installation.html for current recommendations.
If you absolutely cannot upgrade, please add -XX:-UseSuperWord to the JVM_OPTS 
environment variable.
Upgrading is preferred, this workaround will result in degraded performance.]

This seems to be here: https://github.com/elastic/elasticsearch/issues/10611

I have expected to be able to run Elasticsearch after running the role.

Putting

  tasks:
    - name: Configuring elasticsearch to work with OpenJDK 7
      lineinfile:
        state: present
        dest: /etc/default/elasticsearch
        line: ES_JAVA_OPTS=-XX:-UseSuperWord

in the playbook helps me.

I guess a solution is to either require a more modern Java version (which is complicated on contemporary stable systems like Ubuntu or Debian) or to configure Elasticsearch the way I've shown.

geerlingguy commented 8 years ago

@muelli - Thanks! Added a note in the README with instructions for getting Java 8 on most OSes.