Elasticsearch基础概念理解
熟悉ES中的几个关键概念:
节点(Node):一个elasticsearch运行的实例,其实就是一个java进程。一般情况下,一台机器运行在一台机器上。
集群(Cluster): 好几个有相同集群名称的节点(Node)。
索引(Index):有点象数据库。
类型(Type):可以看做是数据库中的标
分片(Shard):就是一个lucene index。每个index都会划分成几个shard。每个shard可能是主shard或者是一个副本(replica)。
具体lucene我也不熟悉,但是反复读了3篇关于这些概念呢的解释,大概对ES的这些概念有了一点理解。
在ES中创建索引时(就相当于创建一个数据库),ES会默认为这个数据库创建5个分片,这5个分片都是主分片,每个分片又默认创建一个副本(replica)。当向这个数据库插入记录时,ES会根据内定规则,判断这个记录应该记录到哪个分片上。当然,这5个分片的最终数据是一样的,也就是说,插入一条记录时,最终这条记录会从插入的那个shard同步至其他的几个shard。
再来说说replica。当只有一个es的节点时,默认replica是不存在的,ES只有发现有两台不同IP的ES实例时,才会创建副本(replica),其实这个副本也算一个shard。内容跟原来的shard完全一样,但是这个副本不会进行插入等操作。
每启动一个ES实例(即java进程)。ES会自动对分片进行重划分。比如在同一台机器上运行了两个ES实例,ES默认会将分片进行重平衡,比如启动了两个ES实例,则5个分片被不均衡的重分到两个实例上。最终其中一个实例上,有3个主分片。另外一个实例上,有2个主分片。另外还有一套副本,也被均分在这两个实例上,也就是说,两个实例共10个shard。如果你扩展到10个实例,那么,每个实例将只有一个shard。
以上只是个人理解。有理解不正确的地方,还请指出,谢谢!
参考资料:
http://stackoverflow.com/questions/15694724/shards-and-replicas-in-elasticsearch
http://elasticsearch-users.115913.n3.nabble.com/Shards-and-replicas-td2819984.html
Elasticsearch基础概念理解的更多相关文章
- elasticsearch基本概念理解+elasticsearch 的shards unassigned处理方法 -- 最佳运维实践 - 集群规划
1.es与MySQL的概念对比 2.概念理解 2.1 Index : 一个索引即是文档的集合 2.2 Document : 一个文档即是一个可被索引的基础单元信息,一条记录: 2.3 Replicas ...
- 白日梦的ES笔记三:万字长文 Elasticsearch基础概念统一扫盲
目录 一.导读 二.彩蛋福利:账号借用 三.ES的Index.Shard及扩容机制 四.ES支持的核心数据类型 4.1.数字类型 4.2.日期类型 4.3.boolean类型 4.4.二进制类型 4. ...
- elasticsearch基础概念
接近实时(NRT) Elasticsearch是一个接近实时的搜索平台.这意味着,从索引一个文档直到这个文档能够被搜索到有一个轻微的延迟(通常是1秒). 集群(clu ...
- Elasticsearch 基础概念知识
接近实时(NRT) Elasticsearch是一个接近实时的搜索平台.这意味着,从索引一个文档直到这个文档能够被搜索到有一个轻微的延迟(通常是1秒). 集群(cluster) 一个集群就是由一个或多 ...
- RPC框架基础概念理解以及使用初体验
RPC:Remote Procedure Call(远程服务调用) RPC是做什么的 通过RPC框架机器A某个进程可以通过网络调用机器B上的进程方法,就像在本地上调用一样. RPC可以基于HTTP或者 ...
- JAVA类与对象(一)----基础概念理解
面向对象基本概念 面向对象是一种新兴的程序设计方法,或者说是一种新的程序设计规范,其基本思想是使用对象.类.继承.封装.消息等基本概念来进行程序设计.它是从现实世界客观存在的事物(即对象)出发来构造软 ...
- 基础概念——理解IP地址和域名
从程序员角度,可以把因特网看做是世界范围内的主机集合: 1)主机集合被映射为一组32位的IP地址. 2)这个IP地址被映射为一组称为因特网域名的标识符. 3)因特网主机上的进程能够通过连接和任何其他因 ...
- Elasticsearch教程之基础概念
基础概念 Elasticsearch有几个核心概念.从一开始理解这些概念会对整个学习过程有莫大的帮助. 1.接近实时(NRT) Elasticsearch是一个接近实时的搜索平台.这意味 ...
- 理解 angular2 基础概念和结构 ----angular2系列(二)
前言: angular2官方将框架按以下结构划分: Module Component Template Metadata Data Binding Directive Service Dependen ...
随机推荐
- android 下载instagram动态中图片的demo
最近迷上了刷instagram,里面的很多照片都特别喜欢,于是就想分享到朋友圈或者微博,奈何墙外不知墙内苦啊.于是只能想办法将它们保存到本地,既可以做壁纸也能分享给别人. 我发现每条ins的动态在ap ...
- 关于Integer类中parseInt()和valueOf()方法的区别以及int和String类性的转换.以及String类valueOf()方法
Integer类中的. 关于parseInt()方法的API文档. 返回的是int类型的 关于valueOf()方法的API文档 返回的是Integer类型的. 关于intValue()方法的API ...
- Struts2的工作流程
Struts2如何实现MVC Struts2的参数封装: Struts2的运行原理图:
- PHP Fatal error: Cannot pass parameter 2 by reference
PHP Fatal error: Cannot pass parameter 2 by reference in 这个错误的意思是:不能按引用传递第2个参数 我的理解是: 方法的第2个参数 需要传递 ...
- ant+dbunit 导xml到mysql
1.增加自己的data目录和xml数据文件 2.lib依赖 commons-logging-1.1.1.jar dbunit-2.4.8.jar junit-4.9b2.jar mysql-conne ...
- asp正则过滤重复字符串的代码
asp下过滤重复字符串的代码,有时候我们需要过滤一些重复的字符串,下面的代码即可解决这个问题 比如 1223445677777778aabbcccccccccc 经过过滤之后就是12345678abc ...
- 开源Pull_To_Refresh控件使用
学习知识点 onTouch事件传递机制. Lisenter监听 ImageView的src background scaleType不同属性的显示情况. onTouch滑动抬起调用的MotionEve ...
- Apache优化:修改最大并发连接数
http://www.365mini.com/page/apache-concurrency-configuration.htm Apache是一个跨平台的web服务器,由于其简单高效.稳定安全的特性 ...
- Java算法求最大最小值,冒泡排序,斐波纳契数列一些经典算法<不断更新中>
清明在家,无聊,把一些经典的算法总结了一下. 一.求最大,最小值 Scanner input=new Scanner(System.in); int[] a={21,31,4,2,766,345,2, ...
- JavaScript高级程序设计(八):基本概念--操作符
操作符包括:算术操作符.位操作符.关系操作符和相等操作符. 一元操作符 1.只能操作一个值得操作符,即递增和递减操作符: 2.递增(++)和递减(--)操作符包括:前置型和后置型.前置型位于要操作的变 ...