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