面试题答案
一键面试- 调整
indices.recovery.max_bytes_per_sec
配置:- 调整方式:适当降低此配置值,例如从默认的
40mb
降低到20mb
左右。 - 依据:该配置限制了每个分片恢复时每秒传输的数据量。降低此值可以减少恢复过程中对网络带宽的占用,避免因恢复操作占用过多带宽而影响在线业务的搜索请求等操作。同时,适当的降低也能保证恢复在一定速度范围内进行,不至于过慢。
- 调整方式:适当降低此配置值,例如从默认的
- 调整
cluster.routing.allocation.node_concurrent_recoveries
配置:- 调整方式:减少该配置值,比如从默认的
2
调整为1
。 - 依据:此配置控制每个节点上并发恢复的分片数量。减少并发恢复的分片数量,可以降低单个节点在恢复过程中的资源消耗,包括CPU、内存和磁盘I/O等。这样可以避免因过多分片同时恢复导致节点资源紧张,影响在线业务在该节点上的正常运行。
- 调整方式:减少该配置值,比如从默认的
- 调整
cluster.routing.allocation.total_shards_per_node
配置:- 调整方式:根据集群节点的实际资源情况,合理分配每个节点上允许分配的分片总数。例如,如果某个节点资源相对充足,可以适当提高该节点的
total_shards_per_node
值,而对于资源紧张的节点则降低该值。 - 依据:该配置决定了每个节点上允许分配的分片总数。通过合理分配,可以使恢复的分片均匀分布在集群节点上,避免某个节点因集中恢复过多分片而导致资源耗尽,影响在线业务。同时,也能利用各节点的资源,加快整体的恢复速度。
- 调整方式:根据集群节点的实际资源情况,合理分配每个节点上允许分配的分片总数。例如,如果某个节点资源相对充足,可以适当提高该节点的
- 使用索引优先级:
- 调整方式:为重要的在线业务相关索引设置较高的优先级,而对于需要恢复的索引,如果不是紧急业务相关,可以设置较低的优先级。
- 依据:ElasticSearch会优先处理高优先级索引的恢复等操作。通过设置优先级,可以保证在线业务索引的正常运行不受太大影响,同时让需要恢复的索引在资源允许的情况下逐步恢复。