Elasticsearch就是为高可用和高可扩展而生,可以通过添加更多的服务器来水平扩展。

空集群

  • 主节点(Master Node):集群中的一个结点会被选为主节点,它负责整个集群的变化,比如创建索引或者删除索引,以及对集群中结点的增加和删除。主节点不需要参与到文档级别的变化或者搜索中,这就意味着主节点不会因为流量的增大而成为瓶颈。任何结点都可以成为主节点。

  • 我只启动了一个节点,所以自然这个结点就成为了主节点,因此现在所构建的集群就是一个单节点集群。作为用户,我可以与集群中的任意一个节点通信,包括主节点。每个节点都知道文档在那个节点上,并且它可以转发请求到相应的结点。我们访问的结点负责收集各个节点返回的数据,最后一起返回给客户端。这一切都由Elasticsearch处理。

集群健康 (Cluster Health)

我们在Elasticsearch集群中可以监控很多信息,其中最重要的一项就是集群的健康,集群健康有三种状态:greenyellored

curl -XGET localhost:9200/_cluster/health?pretty

如果一个集群中没有任何索引,返回一下信息:

{"cluster_name": "elasticsearch","status": "green","timed_out": false,"number_of_nodes": 1,"number_of_data_nodes": 1,"active_primary_shards": 0,"active_shards": 0,"relocating_shards": 0,"initializing_shards": 0,"unassigned_shards": 0
}

当我在集群是上建立了索引后,返回如下信息:

{"cluster_name" : "elasticsearch","status" : "yellow","timed_out" : false,"number_of_nodes" : 1,"number_of_data_nodes" : 1,"active_primary_shards" : 5,"active_shards" : 5,"relocating_shards" : 0,"initializing_shards" : 0,"unassigned_shards" : 5
}
  • green:所有的主要分片(Primary Shard)和复制分片(Replica Shard)都可用

  • yellow:所有的主分片都可用,但是并不是所有的复制分片都可用

  • red:不是所有的主要分片都可用

下面介绍分片,包括主分片和复制分片。

分片 (Shards)

  • 为了将数据添加到ES,我们需要索引(index),在逻辑上,index是存储数据的地方,而在实际上,index是一个用来指向一个或者多个分片的的逻辑命名空间

  • 一个分片是一个最小级别的“工作单元”,它保存了索引中所有数据的一部分,一个分片是一个Lucene实例,并且它本身就是一个完整的搜索引擎我们的文档存储在分片中,并且在分片中被索引。我们的应用程序不会直接和分片通信,取而代之的是直接和索引通信

  • 分片是Elasticsearch在集群中分发数据的关键。把分片想象成数据的容器,文档存储在分片中,然后分片分配到你集群中的节点上。当集群扩容或者缩小,Elasticsearch会自动在节点间迁移分片,使得集群可以保持平衡。

  • 分片可以分为主分片(primary shard)复制分片(replica shard)索引中的每个文档属于一个单独的主分片,所以主分片的数量决定了索引中最多能够存储多少数据。

  • 复制分片是主分片的一个副本,用来防止硬件故障导致的数据丢失,同时可以提供读请求,比如搜索或者从别的shards取回文档。

  • 当索引创建的时候,主分片的数量就确定了,但是复制分片可以随时调整。

  • 文档的索引首先被存储在主分片上,然后并发复制到对应的复制节点上。这可以确保我们的数据在主节点和复制节点上都可以被检索到。

  • 再次强调,主分片的数量在索引被创建时已经确定,这个数量定义了你能存储到索引里数据的最大数量。然而,主分片和复制分片都可以处理读请求——搜索或者文档检索,所以数据的冗余越多,我们能处理的搜索吞吐量就越大。

参考:[https://github.com/looly/elasticsearch-definitive-guide-cn]


如有错误,欢迎指正:)

Elasticsearch总体介绍相关推荐

  1. 实时计算 Flink 版总体介绍

    简介:实时计算 Flink 版(Alibaba Cloud Realtime Compute for Apache Flink,Powered by Ververica)是阿里云基于 Apache F ...

  2. 2021年大数据ELK(二):Elasticsearch简单介绍

    全网最详细的大数据ELK文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 一.Elasticsearch简介 1.介绍 2.创始人 二.E ...

  3. 基于DDD的现代ASP.NET开发框架--ABP系列之1、ABP总体介绍

    点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之1.ABP总体介绍 ABP是"ASP.NET Boilerplate Project (ASP.NET样 ...

  4. KubeOperator总体介绍(K8S集群部署管理工具)

    总体介绍⚓︎ KubeOperator 是一个开源的轻量级 Kubernetes 发行版,专注于帮助企业规划.部署和运营生产级别的 Kubernetes 集群. KubeOperator 提供可视化的 ...

  5. 代码检查规则背景及总体介绍

    中秋小长假结束,放松过后的你准备好新一轮的学习了吗?端坐小板凳开始study吧! 今天为大家带来的课程是<代码检查规则背景及总体介绍>,将从代码检查的意义.代码检查场景及工具.代码检查规则 ...

  6. HelloWorld Detail Earth 3D Engine(一)总体介绍

    HelloWorld Detail Earth 3D Engine(一)总体介绍 一 简介 HelloWorld Detail Earth3D Engine 拥有数字地球的基本功能和架构,同时拥有3D ...

  7. 【GPT4】微软 GPT-4 测试报告(1)总体介绍

    欢迎关注[youcans的AGI学习笔记]原创作品,火热更新中 微软 GPT-4 测试报告(1)总体介绍 微软 GPT-4 测试报告(2)多模态与跨学科能力 微软 GPT-4 测试报告(3)编程能力 ...

  8. ABP开发框架的总体介绍

     ABP  FRAMEWORK 中文文档 https://docs.abp.io/zh-Hans/abp/latest ABP官方网站:http://www.aspnetboilerplate.com ...

  9. RISC-V E300 SOC架构介绍——1.总体介绍

    0.基于RISC-V SOC平台的总体介绍: E300平台是SiFive公司Freedom Everywhere系列的第一个可定制的RISC-V SoC. E300 SoC包括一个SiFive系列 R ...

最新文章

  1. 2022-2028年中国棕刚玉行业市场运营模式及未来发展潜力报告
  2. 总结一下Page_Load和OnLoad
  3. 使用 cout 输出数据之控制输出格式(二)
  4. 惜分飞oracle,惜分飞 - 提供7*24专业数据库(Oracle,SQL Server,MySQL等)恢复和Oracle技术服务@Tel:+86 13429648788...
  5. mysql 注入 绕过防火墙_绕过阿里云防火墙继续扫描探测和SQL注入
  6. 2011 ICM 美国数据建模赛题
  7. 文件服务器软件_使用Home FTP Server在电脑之间传文件
  8. MH370 找到个毛!
  9. 数据结构(严蔚敏 第二版)绪论部分中关于算法的相关知识
  10. Java教师评估系统_jsp教师在线评价系统
  11. 最好用的两款库存管理软件推荐,不要错过
  12. php小小通讯录,小小通讯录
  13. OSChina 周四乱弹 ——Iphone7出了开始做牛做马了
  14. 6.18上午CVPR直播 | 清华三维视觉研究团队:三维人体重建与渲染、高精度人脸生成
  15. javaweb大全:地址来自 孤傲苍狼
  16. 像“毒液”一样的粘液机器人火了,能取出体内异物,穿过1.5mm细缝无压力!...
  17. 友价商城源码插件-百度链接主动提交
  18. Day 16 购物车
  19. docker 安装 启动停止 重启 自动安装
  20. 杭州高级职称申报通过率如何提升?

热门文章

  1. TypeError: 'module' object is not callable 原因分析
  2. 深入理解 Linux Cgroup 系列(二):玩转 CPU
  3. zookeeper安装教程(zookeeper3.4.5为例)
  4. 在项目中使用react
  5. QTP的那些事--通过WMI获取session中的用户信息的验证码
  6. Xbox One 初始化-2 激活(百视通)和配置账户
  7. 动态代理及工厂的简单实现
  8. 后台运行定位,音频,网络电话
  9. vim 去掉自动注释和自动回车
  10. sql 使用identity(int,1,1)来产生行号。