面试题答案
一键面试网络方面
- 优化思路:确保集群节点间网络稳定且带宽充足,减少网络延迟和丢包。
- 配置参数及作用:
transport.tcp.compress
:设置为true
可对传输数据进行压缩,减少网络传输量,在带宽有限时提高传输效率。
节点资源方面
- 优化思路:合理分配节点的硬件资源,避免因资源不足导致同步延迟。
- 配置参数及作用:
node.master
、node.data
、node.ingest
:根据节点硬件性能和预期功能,明确节点角色。如高性能节点设为node.master: true
且node.data: true
,处理更多数据同步任务;低性能节点可设为node.ingest: true
,专注数据预处理。bootstrap.memory_lock
:设置为true
,锁定节点内存,防止内存交换(swapping),因交换会严重影响性能,确保数据同步操作内存使用稳定。
索引配置方面
- 优化思路:调整索引相关配置,提升数据同步写入效率。
- 配置参数及作用:
index.refresh_interval
:适当增大此值(如从默认的1s改为5s),减少索引刷新频率,因为每次刷新会触发一些资源开销操作,降低频率可提高写入性能,但会使数据可见性延迟增加,需权衡。index.translog.durability
:设置为async
,采用异步方式将操作写入事务日志,减少同步等待时间,提升写入效率,但可能在节点故障时丢失少量未持久化数据,需结合业务数据重要性考虑。
PacificA算法本身配置方面
- 优化思路:调整与PacificA算法紧密相关的配置,适应集群业务负载。
- 配置参数及作用:
discovery.zen.minimum_master_nodes
:确保集群中有足够的活跃主节点,避免脑裂问题影响数据同步。设置为超过集群主节点一半数量的值,如3个主节点集群设为2。cluster.routing.allocation.node_concurrent_recoveries
:控制节点同时进行恢复(如数据同步)的数量,避免过多恢复任务竞争资源。根据节点硬件资源设置合理值,如4核8G节点可设为2 - 3。