Elasticsearch 集群详细解析
1. 恢复控制
Elasticsearch 除了可以选择网关类型外,还允许我们配置初始恢复过程的启动时间。恢复是初始化所有分片和副本、从事务日志中读取所有数据并将其应用到分片上的过程,这是启动 Elasticsearch 所需的必要步骤。
例如,假设有一个由 10 个 Elasticsearch 节点组成的集群,可通过在elasticsearch.yml配置文件中设置gateway.expected_nodes为 10 来告知 Elasticsearch 预期的节点数量。当集群中的节点数量等于该属性值时,Elasticsearch 将立即启动恢复过程。
若希望在 6 个节点加入集群后启动恢复,可以将gateway.recover_after_nodes属性设置为 6。此属性的值应确保能获取到集群状态快照的最新版本,通常意味着应在大部分节点可用时启动恢复。
还可以设置在满足gateway.recover_after_nodes条件 5 分钟后启动网关恢复过程,方法是将gateway.recover_after_time属性设置为5m。此属性用于指定在节点数量达到gateway.recovery_after_nodes指定的最小值后,网关模块等待恢复过程开始的时间。若网络较慢,希望节点通信稳定,就可这样设置。但需注意,若形成集群的主节点和数据节点数量等于gateway.ex