ES入门:路由、TTL与集群管理详解
需积分: 9 130 浏览量
更新于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 上传
进朱者赤
- 粉丝: 2130
- 资源: 30
最新资源
- 正整数数组验证库:确保值符合正整数规则
- 系统移植工具集:镜像、工具链及其他必备软件包
- 掌握JavaScript加密技术:客户端加密核心要点
- AWS环境下Java应用的构建与优化指南
- Grav插件动态调整上传图像大小提高性能
- InversifyJS示例应用:演示OOP与依赖注入
- Laravel与Workerman构建PHP WebSocket即时通讯解决方案
- 前端开发利器:SPRjs快速粘合JavaScript文件脚本
- Windows平台RNNoise演示及编译方法说明
- GitHub Action实现站点自动化部署到网格环境
- Delphi实现磁盘容量检测与柱状图展示
- 亲测可用的简易微信抽奖小程序源码分享
- 如何利用JD抢单助手提升秒杀成功率
- 快速部署WordPress:使用Docker和generator-docker-wordpress
- 探索多功能计算器:日志记录与数据转换能力
- WearableSensing: 使用Java连接Zephyr Bioharness数据到服务器