ES-基础知识

Elasticsearch是什么

  • Elasticsearch(简称ES)是一个基于Apache Lucene™的开源搜索引擎。
  • Elasticsearch 是一个高伸缩的开源全文搜索和分析引擎,是一个基于JSON的分布式搜索和分析引擎,基于restful web接口,Elasticsearch是用Java语言开发的,基于Apache协议的开源项目,是目前最受企业欢迎的搜索引擎。
  • 它可以快速地、近实时的存储,搜索和分析大规模的数据,一般被用作底层引擎/技术,为具有复杂搜索功能和要求的应用提供强有力的支撑。

ElasticSearch特点

  • 近实时性:新增到 ES 中的数据在1秒后就可以被检索到,这种新增数据对搜索的可见性称为“近实时搜索”
  • 全文检索:将全文检索、数据分析以及分布式技术,合并在了一起,才形成了独一无二的ES
  • 分布式:意味着可以动态调整集群规模,弹性扩容
  • 集群规模:可以扩展到上百台服务器,处理PB级结构化或非结构化数据
  • 开箱即用:对用户而言,是开箱即用的,非常简单,作为中小型的应用,直接3分钟部署一下ES
  • 不支持事务:数据库的功能面对很多领域是不够用的,事务,还有各种联机事务型的操作

使用场景

  • 全文检索
  • 数据整合
    • 可以整合多数据源数据
  • 数据分析
    • 日志分析
  • 事件数据和指标

提供能力

  • 快速查询
  • 确保结果相关性
  • 处理错误拼写
  • 给与自动提示
  • 统计分析

基本概念

逻辑概念
elasticsearchmysql说明
索引库(indices)Databases 数据库可以这样理解
类型(type)Table 数据表新版本中几乎没有这个概念了
文档(document)Row 行用json格式收集整理的数据
字段(field)Columns 列文档中各属性的值
映射配置(mappings)表结构字段的数据类型、属性、是否索引、是否存储等特性
物理概念
  • 集群,有2台以上的服务节点就可以构建集群。
  • 节点,单独可以提供服务的进程。
  • 分片,单个索引数量太多的话可以将索引分片,提供响应速度。
  • 副本,保证高可用。这里和kafka不同,如果副本数量的节点数量一致,副本不会出现迁移。
  • 段,来自lucene,段类似mysql中的页,应该是为了在硬盘上持久化数据快设计的。但段中的数据不能被删除,只能做标记。

集群中节点角色

  • 在ES中刚接触到的概念,其实在其他的工具中也有类似的功能但没有提出相应的概念。
  • 提出角色的概念就是为了整合功能,目的是通过分工提供效率。这里的效率其实指开发、维护的效率。
  • 角色包括:
    • master,负责任务管理,具体可以是:
      • 集群状态协调:Master节点负责监控整个ES集群的状态,协调各个节点之间的数据复制和分片操作,实现集群内各节点的协同工作。
      • 索引和映射管理:Master节点负责创建、删除、更新、管理索引和映射,确保索引和映射的一致性和正确性。
      • 路由管理:Master节点负责维护集群的路由表,根据查询请求将其发送到正确的节点进行处理。
      • 集群健康监测:Master节点负责监控集群中的节点及其状态,发现节点故障、网络问题、磁盘空间不足等异常情况,并及时采取故障转移、副本分配等措施。
    • 仅投票,负责投票选主节点。
      • ES的选主时需要过半的,仅投票节点就是起来负责投票选过半的。
    • 数据节点,负责对数据的增删改查操作。
    • 预处理节点,做数据预处理的。
    • 仅协调节点,将数据收集到后,处理数据的,也可以做负载均衡工作。
    • 简单和TiDB和MongoDB中的服务比较一下。不一定完全相似,但逻辑概念上功能差不多。
      ESTiDBMongoDB说明
      masterPDconfigserver负责任务管理
      数据节点TiKVShard负责数据存储
      仅协调节点TiDBmongos负责计算处理数据
  • 一个节点可以具有多重角色,看你的配置了。其中数据节点的硬盘容量要求高一点。
  • 一个节点必须是仅协调节点。而候选主节点、数据节点和预处理节点时可配的。
  • 最后需要注意一下,配置文件中配置的master是可以成为master,而不是指定你就是master。
脑裂问题
  • 使用Quorum机制解决的脑裂问题。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

田秋浩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值