在ElasticSearch中,集群(Cluster),节点(Node),分片(Shard),Indices(索引),replicas(备份)之间是啥关系( 二 )
Elasticsearch ? Indices ? Types ? Documents ? Fields
这里的document的可以理解为一个JSON序列对象。每个document可包含多个field。
再来说说Shard,每个Index(对应Database)包含多个Shard,默认是5个,分散在不同的Node上,但不会存在两个相同的Shard存在一个Node上,这样就没有备份的意义了。Shard是一个最小的Lucene索引单元。
当来一个document的时候,Elasticsearch通过对docid进行hash来确定其放在哪个shard上面,然后在shard上面进行索引存储。
replicas就是备份,Elasticsearch采用的是Push Replication模式,当你往 master主分片上面索引一个文档,该分片会复制该文档(document)到剩下的所有 replica副本分片中,这些分片也会索引这个文档。我个人觉得这种模式很nice,有些时候对于一个document的进行索引可能生成很大的索引文件,会很占带宽,而只传输原始文件会好很多。
当进行查询是,如果提供了查询的DocID,Elasticsearch通过hash就知道Doc存在哪个shard上面,再通过routing table查询就知道再哪个node上面,让后去node上面去取就好了。如果不提供DocID,那么Elasticsearch会在该Index(indics)shards所在的所有node上执行搜索预警,然后返回搜索结果,由coordinating node gather之后返回给用户。
配置上需要把握什么样的原则,应该去看一个ES优化方面的资料,推荐两本书
ElasticSearch Server (豆瓣),Mastering ElasticSearch (豆瓣)一个机器不应定只部署一个node,一台机器可以虚拟化出多个虚拟机(至于虚拟化出多少看性能),每个虚拟机都可以部署一个node.尤其在云计算环境下,如果租用云虚拟主机,谁知道它们是不是在同一台机器上。。。以上是个人理解,仅供参考;如有不对,多提意见。
■网友
不熟悉es但估计都差不多cluster是整个集群包含n个nodenode通常掌控独立的资源,cpu内存什么的一台机器可以多个nodeshard一般是从数据角度来说的1000条数据按id分,存10份,就是10个shardshards分散在多个node上副本好理解同样的数据再来一份同样的shard再来一份副本是乘法,越多越浪费,也越保险分片是除法,越多单片数据就越少,也越分散如此如此。。。nnd手机打字太累
■网友
以下是内容来源于:基本概念 | elasticsearch中文指南侵删!--------------------------------------------------------------------------------------------------------------------集群(cluster)一个集群就是由一个或多个节点组织在一起, 它们共同持有你全部的数据, 并一起提供索引和搜索功能。 一个集群由一个唯一的名字标识, 这个名字默认就是“elasticsearch”。 这个名字很重要, 因为一个节点只能通过指定某个集群的名字,来加入这个集群。在生产环境中显式地设定这个名字是一个好习惯,但是使用默认值来进行测试/开发也是不错的。
注意,一个集群中只包含一个节点是合法的。另外,你也可以拥有多个集群,集群以名字区分。
节点(node)一个节点是你集群中的一个服务器,作为集群的一部分,它存储你的数据,参与集群的索引和搜索功能。 和集群类似, 一个节点也是由一个名字来标识的, 默认情况下, 这个名字是一个随机的Marvel角色的名字,这个名字会在节点启动时分配给它。这个名字对于管理工作来说很重要,因为在这个管理过程中,你会去确定网络中的哪些 服务器对应于Elasticsearch集群中的哪些节点。
一个节点可以通过配置集群名称的方式来加入一个指定的集群。 默认情况下,每个节点都会被安排加入到一个叫做“elasticsearch”的集群中,这意味着,如果你在你的网络中启动了若干个节点, 并假定它们能够相互发现彼此,它们将会自动地形成并加入到一个叫做“elasticsearch” 的集群中。
在一个集群里可以拥有任意多个节点。而且,如果当前你的网络中没有运行任何Elasticsearch节点,这时启动一个节点,会默认创建并加入一个叫做“elasticsearch”的单节点集群。
推荐阅读
- |零工经济来了扬州如何乘风而行 直播产业链正在加速集群
- 寻求国内ElasticSearch封装产品或公司
- 国外有哪些优秀的站群(网站集群系统帮助政府,教育,军队快速做网站的,非做垃圾站的)解决方案
- 重振“燕舞”荣光 盐城布局千亿级电子信息产业集群
- |苏南自创区大力提升一体化发展水平,培育高质量创新集群
- 纺织产业|“十四五”江苏将打造世界级的高端纺织产业集群
- 河南已培育出19个千亿级产业集群127个百亿级特色产业集群
- 如东举办东湖旅游节 打造野奢度假营地集群
- |红脚隼集群飞来了 壮观!快看! 猛禽大军歇脚高邮湖滩
- 赌博@盐城警方集群打击治理跨境赌博 涉案资金超10亿
