集群主机(节点)配置相近
集群中主机最好配置相近,集群的性能符合木桶定律,即集群的查询性能是由集群中性能最差的主机决定的。
建议使用SSD硬盘替换传统的机械硬盘
ES对IO的性能要求比较高。
ES内存配置不要超过32G
指定的堆内存可以是节点总内存的一半。
https://www.elastic.co/guide/en/elasticsearch/guide/current/heap-sizing.html#compressed_oops
ES_HEAP_SIZE
集群名称和节点名称必须要配置
ES根据集群的名称组成一个集群,在生产中可以指定一个具有实际意义的集群名称。
节点名称一般指定主机名,便于管理和监控,出现故障也易于定位。
使用独占的主节点和数据节点。(主要避免脑裂或负载过高)
一个集群里面出现了两个或以上的master节点,就称为脑裂。
发生脑裂的原因主要由两个:网络质量不好或master节点负载过高。
因此,在前面的优化中,使用独占的主节点和数据节点可以避免负载过高。
缓解脑裂还可以设置一个参数: discovery.zen.minimum_master_node。
这个参数决定了至少有多少个存活的节点,才选举产生新的master节点。
discovery.zen.minimum_master_node: (master_eligible_nodes / 2) + 1
换句话说,如果有三个主节点,那么最小主节点应该设置为(3/2)