MST
星途 面试题库

面试题:ElasticSearch索引恢复相关配置:基础实践

在ElasticSearch中,当索引需要恢复时,涉及到哪些关键的配置参数?请简述这些参数的作用及常见取值范围。
24.9万 热度难度
数据库ElasticSearch

知识考点

AI 面试

面试题答案

一键面试

关键配置参数及作用和常见取值范围

  1. cluster.routing.allocation.enable
    • 作用:控制哪些分片可以分配到节点上,在索引恢复时影响分片的分布。
    • 常见取值范围
      • all:所有分片都可以分配(默认值),适用于正常恢复场景。
      • primaries:仅允许主分片分配,可用于某些特殊情况,比如先恢复主分片,再逐步处理副本分片。
      • new_primaries:仅允许新创建的主分片分配。
  2. indices.recovery.max_bytes_per_sec
    • 作用:限制索引恢复过程中的网络带宽使用,防止恢复过程对网络造成过大压力。
    • 常见取值范围:可以设置为具体的数值加单位,例如 20mb(表示每秒最多使用20MB带宽),具体取值可根据网络环境调整,一般在几MB到几十MB之间。
  3. indices.recovery.concurrent_streams
    • 作用:控制单个分片恢复时的并发流数量,影响恢复速度和资源利用。
    • 常见取值范围:一般取值为1 - 10之间,默认值通常为3。较小的值适用于资源有限的环境,较大的值在网络和磁盘性能较好时可加快恢复速度。
  4. indices.recovery.concurrent_recoveries
    • 作用:限制每个节点上同时进行的恢复操作数量,避免节点因过多恢复任务而资源耗尽。
    • 常见取值范围:通常在1 - 20之间,默认值可能是4。根据节点的硬件资源(如CPU、内存、磁盘I/O能力)进行调整。
  5. gateway.recover_after_nodes
    • 作用:指定集群中至少有多少个节点可用时,才开始进行索引恢复操作。
    • 常见取值范围:一般设置为集群节点数量的一个合理比例,例如集群有5个节点,可设置为3,表示至少3个节点可用时开始恢复。
  6. gateway.expected_nodes
    • 作用:设置期望的集群节点数量,用于判断集群是否完整。
    • 常见取值范围:设置为集群计划的总节点数,如集群规划为10个节点,则设置为10。
  7. gateway.recover_after_time
    • 作用:如果在指定时间内 gateway.recover_after_nodes 条件未满足,等待该时间后也开始进行索引恢复。
    • 常见取值范围:格式如 5m(5分钟)、1h(1小时)等,根据实际情况设置,确保有足够时间让节点上线,但又不会等待过久。