elasticsearch笔记_索引文档时的集群内部操作(二)
来源:互联网 发布:js数据类型转换 编辑:程序博客网 时间:2024/06/05 14:31
关于集群的一些说明.
1 . node(节点) : 一个运行的Elasticsearch实例就是一个节点.
用户可以将请求发送给任意节点,每个节点都知道任意文档的位置,并且能将我们的请求转发到任意存储我们需要的文档的节点上.
2 . shard(分片) : 一个分片是一个底层的工作单元,它仅仅保存的数据的一部分.
索引(名词)其实是一个或者多个分片的逻辑命名空间.其实一个分片是一个Lucene实例.分片分为主分片和副本分片.
3 . 查询集群健康 : GET / _cluster/health
主要注意该请求返回结果的status字段,分为green,yellow,red三种状态.green表示所有的主,副分片都可用;yellow表示所有的主分片都可用,有的副分片都不可用;red有主分片不可用.
索引(动词)文档时,集群的内部操作
1 . 每当一个文档被索引(动词)时,elasticsearch是如何知道文档应该存放在哪个分片呢?
公式 :shard = hash(routing) %number_of_primary_shards
公式里面routing是一个固定的值,通常默认为文档的id,hash函数将routing生成一个值,这个值再与主分片的数量取余.结果范围就是在0~(主分片数量-1)之间.
所有的API都支持routing这个参数,我们可以根据控制这个参数来自定义文档和分片之间的映射.
2 . 新建,索引(动词),删除索引时,分片之间是如何交互的?
举例 : 假设目前集群有3个node(节点),每个节点有两个分片,节点的属性如图,现在请求一个分片向并没有存储该分片的主分片的node请求.
步骤如图 :
当shard2的两个副分片都操作成功并向主分片报告以后,node1再将结果返回给用户.
- elasticsearch笔记_索引文档时的集群内部操作(二)
- Elasticsearch学习笔记之二(ES集群)
- Elasticsearch学习笔记(三)Elasticsearch集群分片的读写操作流程
- Elasticsearch系列(四)----Elasticsearch索引文档的增删改查
- elasticsearch索引文档-attachment
- Lucene学习笔记之(二)索引文档的CRUD
- Elasticsearch索引别名的介绍和操作
- elasticsearch JAVA客户端操作---索引的CURD
- Elasticsearch索引别名的介绍和操作
- elasticsearch建立索引操作的API
- Elasticsearch索引别名的介绍和操作
- Elasticsearch基于RESTful接口的索引操作
- elasticsearch建立索引操作的API
- ElasticSearch索引的相关操作---javaEE--SpringDataElasticSearch
- Elasticsearch中的document数据格式,简单的集群管理,商品的索引的CRUD操作(学习资料记录)
- Elasticsearch集群和索引常用命令
- [Elasticsearch] 索引管理 (二)
- Elasticsearch(二)elasticsearch索引数据与简单检索GET一个文档
- SimpleDateFormat的线程安全问题与解决方案
- 空指针操作在linux和windows下的区别
- MATLAB 读写excel数据
- C# 发布windows 服务
- 登录工程二:现代 Web 应用的典型身份验证需求
- elasticsearch笔记_索引文档时的集群内部操作(二)
- 树与二叉树的转换、树的遍历
- SQLiteDatabase填充spinner(populating spinner from SQLiteDatabase)
- jsp中自定义标签的学习
- 【C#】wpf中的xmlns命名空间为什么是一个网址,代表了什么意思
- 1064. 朋友数
- [FFT] 快速傅里叶变换学习笔记
- NOIP2013 Day1
- Nginx配置反向代理安装和配置-初探