本书基于 Elasticsearch 2.x 版本,有些内容可能已经过时。 Elasticsearch: 权威指南 » 管理、监控和部署 » 部署 » Java 虚拟机 « 硬件 Transport Client 与 Node Client »
Java 虚拟机编辑
你应该始终运行最新版本的 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。
请不要调整 JVM 设置
JVM 暴露出几十个(甚至数百)的设置、参数和配置。 它们允许你进行微调 JVM 几乎是每一个方面。 当遇到一个旋钮,要打开它是人的本性。我们恳求你压制这个本性,而 不要 去调整 JVM 参数。Elasticsearch 是复杂的软件,并且我们根据多年的实际使用情况调整了当前 JVM 设置。 它很容易开始转动旋钮,并产生难以衡量的、未知的影响,并最终使集群进入一个缓慢的、不稳定的混乱的效果。当调试集群时,第一步往往是去除所有的自定义配置。多数情况下,仅此就可以恢复稳定和性能。
« 硬件 Transport Client 与 Node Client »Getting Started Videos
Starting Elasticsearch Introduction to Kibana Logstash Starter Guide官方地址:https://www.elastic.co/guide/cn/elasticsearch/guide/current/_java_virtual_machine.html