ES入门:路由、TTL与集群管理详解
需积分: 9 158 浏览量
更新于2024-07-15
收藏 750KB PPTX 举报
ES (Elasticsearch) 是一个开源的分布式搜索引擎,用于实时分析、存储和检索大规模数据,特别适合在线文档存储和实时分析场景。ES 以其高效性和可扩展性著称,支持聚合(aggregations)功能,使得处理TB级数据成为可能。
在ES的集群设置中,有几种重要的查询模式:
1. **Primary**:只在主分片中查询,效率高但容错性较低,如果主分片不可用,查询可能会失败。
2. **Primary First**:优先在主分片查询,如主分片不可用,则尝试在副本中查找,增加了容错性。
3. **Local**:优先在本地节点的分片中查询,有助于提高性能,但可能会受限于节点可用性。
4. **Only Node**:仅在指定节点的分片中查询,可能导致查询结果不完整,适用于特定情况下的性能优化。
**Routing** 是一种策略,通过将具有相同属性的文档分发到同一分片,确保数据的一致性和查询效率。这对于大规模数据分布至关重要。
**TTL (Time To Live)** 是消息过期机制,允许设置文档的生命周期,过期后自动删除。
**Parents & Children** 关系在文档结构中很重要,特别是对于嵌套数据模型,它们维护了父子关系的数据组织。
**Timestamp** 和 **Timeout** 分别控制搜索请求的执行时长,确保查询过程不会无限期进行。
ES 集群的角色包括 Master、Data、Gateway、Coordinator 和 Tribe 节点,每个角色都有其特定职责。例如,Master 节点负责集群状态管理,如版本控制、路由表、节点元数据等。Data 节点负责存储实际的数据,而 Gateway 节点负责数据备份和恢复。
**Index** 是数据存储的基本单位,包含版本、状态、别名、设置、映射和自定义选项。Index的结构包括总共有多少个分片(totalNumOfShards)、过滤器策略(requireFilters、includeFilters、excludeFilters)等。
**Mappings** 定义了字段类型和文档结构,定制化字段的搜索行为。
**Settings** 控制了索引的行为和资源消耗,如索引的大小、搜索性能优化等。
**Snapshots** 和 **Repositories** 是数据备份和恢复的重要组成部分,确保100%的数据可靠性。
**Resiliency** 是ES的一个关键特性,通过高可用性、复制和分片策略来保证在节点故障时仍能提供服务。Elastic官方文档提供了详细的指南和实践方法。
学习ES,需要关注其架构细节、查询优化、索引管理、性能调优以及如何处理大量实时数据、事务处理、PB级数据量和高可用性需求。同时,理解如何使用Cat工具进行监控和诊断,以及掌握各种角色在集群中的协作是必不可少的。
ES的学习涵盖了从基础概念、配置到高级特性的方方面面,包括数据模型、查询处理、集群管理以及与Lucene内核的关系。通过深入理解和实践这些知识点,可以有效地利用ES构建高效、可靠的大型数据处理系统。
2020-08-27 上传
2018-10-15 上传
2018-08-13 上传
2021-08-16 上传
2020-05-20 上传
2024-06-14 上传
2021-10-10 上传
2023-06-29 上传
进朱者赤
- 粉丝: 2126
- 资源: 30
最新资源
- 新代数控API接口实现CNC数据采集技术解析
- Java版Window任务管理器的设计与实现
- 响应式网页模板及前端源码合集:HTML、CSS、JS与H5
- 可爱贪吃蛇动画特效的Canvas实现教程
- 微信小程序婚礼邀请函教程
- SOCR UCLA WebGis修改:整合世界银行数据
- BUPT计网课程设计:实现具有中继转发功能的DNS服务器
- C# Winform记事本工具开发教程与功能介绍
- 移动端自适应H5网页模板与前端源码包
- Logadm日志管理工具:创建与删除日志条目的详细指南
- 双日记微信小程序开源项目-百度地图集成
- ThreeJS天空盒素材集锦 35+ 优质效果
- 百度地图Java源码深度解析:GoogleDapper中文翻译与应用
- Linux系统调查工具:BashScripts脚本集合
- Kubernetes v1.20 完整二进制安装指南与脚本
- 百度地图开发java源码-KSYMediaPlayerKit_Android库更新与使用说明