solrcloud replica collection core shard slice 概念讲解
2019独角兽企业重金招聘Python工程师标准>>>
solr4.0 正式发布有一段时间了,目前是BETA版,从ALpha版到beta新增加了collection的概念,本文就Solr4.0中的多个索引相关概念再做详细的说明。本文以beta版为基础
solr4.0 的所以继承Lucene的分段索引方式,采用了多shard的方式以提高在分布式云环境下的高性能要求的瓶颈。对于一个完整的文档集,将被分布到多个shard中进行索引存储,每个shard相对独立,有自己独立的indexwriter和searcher。shard是对完整文档集索引 分片(块)处理的体现,在solr的代码里每个shard都有一个solrCore对其维护管理。所以core是从solr代码的层面上讲的,而shard是从索引数据的分割角度来讲的。目前solr只允许一个core管理维护一个shard。
core 作为一个实例负责管理一个整个索引中的一个shard,对该shard进行索引的增删查改(update)。core是solr对索引单元管理的最小单位。而一个shard也拥有完整的lucene索引文件结构。几个shard的索引加在一起组成文档集的所有索引。
slice 是一组具有相同数据的shard构成的集合。通常建议3个shard作为一个slice,其中3个shard数据完全相同,但分布在不同的服务器上,以起到互相备份的作用,最终实现容灾和高可靠性的要求。如下图,一个两个服务器组成的solr 集群。该集群中只有一个collection(collection one),该collection中有两个slice,每个slice由2个shard构成。slice的两个shard分布在不同的服务器上以到达容灾目的。
collection是一个逻辑的概念,用来组织多个slice。一个collection包含整个文档集的索引数据(完整)。collection的作用是为了实现多租户的功能。即多个用户(公司)要在一个solr集群上索引各自的数据。这样,各客户间的数据不能交叉,因为A客户的数据可能不希望让B客户访问。为了逻辑上和物理上隔离客户间的数据,产生了collection。一个collection索引并存放一个客户的数据。在一个collection里面又有多个silce。多slice保证吞吐量的要求(每个slice都可以处理索引请求并提供search服务)。
replica是shard的备份,目前1个shard就是一个replica。所以我们可以说每个slice有多个shard构成或者说多个replica构成。其中slice中的replica又有不同的职责,其中有且仅有一个作为主要的服务者,我们称其为leader replica 其他的备份的作为普通的replica。普通replica以 leader replica马首是瞻,保持与leader replica的同步。即普通replica索引的数据不能多于leader replica的索引。leader replica索引的增减直接影响普通replica的索引增减,普通 replica 向leader replica看齐,保持一致。如果当前某个leader replica死掉,将引发新的选举,产生新的leader replica,之后其他普通replica将向新的leader replica保持一致。
下面以一个具体部署的实例的admin工具看到的graph为例说明:
该集群由3台server组成。 只配置了1个collection(collection1),该collection 由 10 个slice组成。图中 的shard1~10实际上应该称作slice1~10 (该admin工具赋予的名称容易误导开发者)。而每个slice下面的每个圆圈表示一个replica,实心圆圈表示leader replica,空心为普通replica,灰色的圆圈表示死掉的replica(如服务器down掉)。 目前从图上可以看出,每个slice由3个replica 构成。(同个slice中的3个replica的数据相同,保存在不同的服务器上,起到备份作用)。
从shard的角度讲,1个replica里保存一份shard。1个slice中有一份唯一的shard(unique shard),但该shard有两个备份,同 unique shard 内容相同。
从core的角度讲,每个replica又一个core维护管理。core负责处理索引请求和搜索请求,以及该replica的索引文件管理,如merge等。所以该例子中总共有30个core,30个replica(其中10个leader replica),10个slice。30个core平均分布在3太server上,每个server10个core。每个server为每个slice保存了一份replica。 每个slice都有3份replica分别在不同的3个server上(X.X.X.251-253)。
转载于:https://my.oschina.net/cloudcoder/blog/338031
solrcloud replica collection core shard slice 概念讲解相关推荐
- 基于keras的深度学习基本概念讲解
基于keras的深度学习基本概念讲解 Tensorflow1.0正式发布,谷歌首届Tensorflow开发者大会在山景召开,深度学习迎来新的高潮和狂欢.随着深度学习框架的普及和推广,会有越来越多人加入 ...
- EL:集成学习(Ensemble Learning)的概念讲解、问题应用、算法分类、关键步骤、代码实现等相关配图详细攻略
EL:集成学习(Ensemble Learning)的概念讲解.算法分类.问题应用.关键步骤.代码实现等相关配图详细攻略 目录 集成学习Ensemble Learning 1.集成学习中弱分类器选择 ...
- STM32驱动开发(二)--USB Device RNDIS虚拟网卡(USB2.0 基础概念讲解)
STM32驱动开发(二)–USB Device RNDIS虚拟网卡(USB2.0基础概念讲解) 一.简介 本文基于stm32 Rndis实例,github开源, 使用STM32F407单板.结合协 ...
- React微前端模块联盟概念讲解
React&微前端&模块联盟概念讲解@react,webpack,微前端 什么是微前端? 微前端架构(micro frontends architecture)设计风格为应用程序的前端 ...
- OpenERP库存管理的若干概念讲解(新增库存价值)
OpenERP库存管理的若干概念讲解(新增库存价值) « 于: 六月 03, 2011, 09:01:50 下午 » 一.复式库存(Double-Entry Stock Management)和库存移 ...
- 计算机语言中函数的概念,什么是函数,什么是公式,两者的概念讲解及比较
在这个VBA与GO语言的平台上,我一直在不遗余力地推广我的观点:这个平台是主要讲VBA语言,但这里的VBA语言不单单只是抽象的代码,大多数是实战的例子.这些例子是以函数为载体,以GO思想为指导.无论函 ...
- maya 2014帮助手册中 三维概念讲解
maya 2014 帮助手册中 三维概念讲解 多边形简介 三个或更多的边, 顶点 边 面 组成 经常使用三边形或四边形来建模 n边形不常用 单个多边形称为面 多个面连接到 ...
- 三种函数指针的表达以及函数指针概念讲解
三种函数指针的表达以及函数指针概念讲解 函数指针的概念 三种表达函数指针的方法 函数指针的概念 如果在程序中定义了一个函数,那么在编译时系统就会为这个函数代码分配一段存储空间,这段存储空间的首地址称为 ...
- 简述python程序结构_python架构的概念讲解
Python就是这样一门受到全世界各地开源社区支持的语言,Python可以用来开发各种小工具软件.web应用.科学计算.数据分析等等. 本篇文章是关于Python构架的讲解,希望对于正在学习Pytho ...
最新文章
- 《Objective-c》Foundation框架 -(字符串:NSString和NSMutableString)
- 为什么程序return -1或exit(-1)而获取到的值是255
- 那些做中台的程序员,后来都怎么样了?
- 无法复制winevt中的文件_u盘文件无法复制怎么解决 u盘文件无法复制解决方法【详细步骤】...
- 【发布】JEECG-P3 新主题后台风格(H5扁平化)
- tensorflow:图(Graph)的核心数据结构与通用函数(Utility function)
- 使用Dockerfile制作jre环境基础镜像
- Gephi从入门到精通
- java voip 的sip服务器搭建_SIP服务器,搭建自己的VoIP平台 | 学步园
- 电信光猫破解 (打开无线wifi及路由功能)
- linux 断开远程vnc,Linux停VNC远程控制的使用方法
- python模拟支付宝扫码登录_Python爬虫模拟登录支付宝并获取订单信息
- 数据挖掘与数据分析项目链家租房数据(二)从性价比看链家推荐是否存在套路。
- 信达生物港交所上市:重点锁定肿瘤领域 募资33亿港元
- 洛谷1852 BZOJ2144 跳跳棋 思维题
- target=_blank和target=_black
- 修改USB默认选中MTP模式
- 4种常见分支模式解析及优劣对比 | 研发效能提升36计
- “人工智能基础”课程笔记
- lazada爆单大卖的选品技巧是什么?五个分析是关键核心