Open JRE for ElasticSearch


(imad) #1

Hi,

I want to check If I can use open JRE with latest ElasticSearch and logstash. Is lastest ElasticSearch and logstash tested with latest open JRE? We started developing our product using ElasticSearch and logstash using Oracle's JRE+JDK but then it appeared that Oracle's JRE+JDK would not be freely available for use under their BCL license. On ElasticSearch page (on elastic.co, its stated that JDK form oracle is recommended.) I would really appreciate if someone can shed some more light on this. Can someone confirm if Oracle JRE would be free to use/distribute with ElasticSearch?

Thanks,
Imad.

PS: Its really confusing that on ElasticSearch page, JDK is mentioned as recommended whereas JRE is really the basic requirement instead of JDK as I have read on other forums to run ElasticSearch. Why is JDK recommended then?


(Ivan Brusic) #2

In the past, the primary reason for using only the Oracle JDK was related
to issues at the Lucene level. OpenJDk did not work well.

I have not paid attention to the Lucene list in a while, so I'm not sure if
the limitation is still there. I know they are working with the
implementors of the IBM JDK. Point is, you might end to ask the Lucene
community.

Ivan


(Joshua Rich) #3

Only the Oracle license agreement and Oracle themselves will be able to confirm whether you can freely use/distribute the JRE with your application for your use-case. I would confirm with your legal representative your obligations and rights under the license agreement as they pertain to your usage.

With that out of the way, you can refer to the Support Matrix here as to which JVM distributions and versions are compatible with which Elasticsearch versions. Although not explicitly listed, the IcedTea OpenJRE is equivalent to the IcedTed OpenJDK (see next paragraph).

The main difference between a JDK and JRE from a user's perspective is the inclusion of tools and utilities that can assist with debugging and profiling your application under the JVM. The JDK includes these tools, the JRE does not. Other than that, the same version/distribution of a JDK/JRE contain the same JVM. The JDK is recommended simply so it is easier for users/developers to troubleshoot their ES deployment.


(imad) #4

We would be just using JDK as a prerequisite of ElasticSearch and logstash. I just wanted to check on this forum if anyone has used/distributed Oracle JDK freely as a prerequisite of ElasticSearch/logstash .

Is IcedTed OpenJDK available for windows? I didn't find any link to download it for windows but no harm in checking with you guys if I can use it on windows somehow.

Thanks,
imad.


(Nik Everett) #5

I do the vast, vast majority of my development and testing on the OpenJDK. Lucene and Elasticsearch are heavily tested on it and the OracleJDK. Both are safe to run Elasticsearch so long as you follow the versions in the support matrix.

I suggest using the JDK rather than the JRE for the same reasons @Joshua_Rich does: it comes with a bunch of debugging tools like jstack that are useful. The last time I checked those didn't come with the JRE. I suspect this is why the JDK is recommended though I wasn't involved in writing that page.

It looks like openjdk doesn't ship binaries for windows. I suspect they are tied to the linux build tools. I can't advise on distributing the oracle jdk either. Sorry!


(system) #6