请注意:
本书基于 Elasticsearch 2.x 版本,有些内容可能已经过时。
本书基于 Elasticsearch 2.x 版本,有些内容可能已经过时。
Java 虚拟机
editJava 虚拟机
edit你应该始终运行最新版本的 Java 虚拟机( JVM ), 除非 Elasticsearch 网站上另有说明。 Elasticsearch, 特别是 Lucene,是一个高要求的软件。Lucene 的单元测试和集成测试经常暴露出 JVM 本身的 bug。这些 bug 的范围从轻微的麻烦到严重段错误,所以,最好尽可能的使用最新版本的 JVM。
Java 8 强烈优先选择于 Java 7。不再支持 Java 6。Oracle 或者 OpenJDK 是可以接受的,它们在性能和稳定性也差不多。
如果你的应用程序是用 Java 编写并正在使用传输客户端(注:Transport Client,下同)或节点客户端(注:Node Client,下同),请确保运行你应用程序的 JVM 和服务器的 JVM 是完全一样的。 在 Elasticsearch 的几个地方,使用 Java 的本地序列化( IP 地址、异常等等)。不幸的是,Oracle 的 JVM 在几个小版本之间有修改序列化格式,从而导致奇怪的错误。 这种情况很少见,但最佳实践是客户端和服务器使用相同版本 JVM。