2019独角兽企业重金招聘Python工程师标准>>>

SolrCloud和MultiCore的区别

Posted on 十二月 27, 2012 in: Solr入门|评论关闭

首先我们初步理解一下概念

SolrCloud模式下有 Cluster,Node,Collection,Shard,LeaderCore,ReplicationCore几个概念,这里我引用一下同事对官方概念的翻译:
* Cluster群集:群集是一组作为一个单元管理的Solr节点。整个群集必须使用同一套schema和solrconfig

* Node节点:一个运行Solr的JVM实例

* Shard碎片:一个分区通过指定的复制因子(replication factor)被存储在多个节点上。所有这些节点共同形成一个碎片。一个节点可能由多个碎片组成。

* Leader负责人:每个碎片(shard)都有一个节点标识作为它的领导。所有的写操作经过领导节点写入指定的分区。

* Replication Factor复制因子的最少数量的文件的副本群集维护

补充说一下:

Collection

这里没有说Collection是什么意思,我就用自己的理解给大家说明, Collection英文直译是集合的意思,在SolrCloud模式下Collection是访问Cluster的入口。这个入口有什么用呢?比如说集群里面有好多台机器,那么访问这个集群通过哪个地址呢,必须有一个接口地址,Collection就是这个接口地址。因此可见Collection是一个逻辑存在的东西,因此是可以跨Node的,在任意节点上都可以访问Collection。

Shard

Shard其实也是一个逻辑存在的东西,因此Shard也是可以跨Node的;
1个Shard下面能且只能包含一个Leader
1个Shard下面可以包含0个或者多个Replication
如果Shard下面的Leader挂掉了,会从Replication里面选举一个Leader。在Solr4.0这个版本这部分实现有不少问题:
Solr4.0的AdminGUI里面可以增加和删除Core,如果Shard里最后一个Core被删除了,Shard不会自动删除掉,会导致集群出错,我们fix了这部分代码;
Shard里面所有的Core宕机了,会导致不能继续插入新的记录,查询不受影响,个人认为应该可以插入到其它存活的Shard里面,因此我们fix了这部分代码;

SolrCloud的工作模式

在SolrCloud模式下,同一个集群里所有Core的配置是统一的,Core有leader和replication两种角色,每个Core一定属于一个Shard,Core在Shard中扮演Leader还是replication由Solr内部自动协调,目前没有找到人工干预的方法,也不需要干预,因为访问SolrCloud的过程:Solrj向Zookeeper咨询Collection的地址,Zookeeper返回存活的节点地址供访问,插入数据的时候由SolrCloud内部协调数据分发(内部使用一致性哈希)。

MultiCore的工作模式

MulitCore模式下各Core之间是相互独立的,同一个Jvm下可以同时运行多个有不同配置的Core。当然在这种模式下,也可以通过参数同时访问多个Core,可以通过配置实现master->replication主从模式的复制,不过这些都需要自己编写的JavaApp来完成。

转载于:https://my.oschina.net/u/2329222/blog/402479

SolrCloud和MultiCore的区别相关推荐

  1. 微处理器走进多内核时代

    ylynzy 发表于: 2006-12-09 15:50 来源: 半导体技术天地 一.概述 内核(Core)是指位于处理器芯片中间.包含指令集和执行这些指令的逻辑电路的处理单元.它是微处理器的最重要组 ...

  2. 分布式系统基础-全文检索

    1.什么是全文检索 我们每个人解除互联网都是从互联网搜索开始的,虽然大家常用的搜索引擎可能不同,搜索的关键词也可能不同,但是我们习惯经常在网上搜索的方式来快速学习技术并解决日常工作中所遇到的各种技术问 ...

  3. 深入剖析SolrCloud(一)

    深入剖析SolrCloud(一) SolrCloud是基于Solr和Zookeeper的分布式搜索方案,是正在开发中的Solr4.0的核心组件之一,它的主要思想是使用Zookeeper作为集群的配置信 ...

  4. 自旋锁和互斥锁实例_自旋锁和互斥锁的实现以及使用区别

    一.自旋锁和互斥锁的实现 基于硬件原语的一些抽象(比如:中断禁用.原子操作指令),怎么实现?可以参考清华大学操作公开课(向勇.陈渝老师讲的),以下摘抄一部分实现代码来实现抽象. Test And Se ...

  5. CPU单核多核区别【转载】

    CPU个数.CPU核心数.CPU线程数 我们在选购电脑的时候,CPU是一个需要考虑到核心因素,因为它决定了电脑的性能等级.CPU从早期的单核,发展到现在的双核,多核.CPU除了核心数之外,还有线程数之 ...

  6. solrcloud 7.5在k8s上的部署安装和使用教程

    全栈工程师开发手册 (作者:栾鹏) 架构系列文章 solr的docker hub 官网:https://hub.docker.com/_/solr/ solr简介 Apache Solr支持不同格式, ...

  7. 浅谈solrCloud的分布式设计

    在solr cloud 中一个collection是一个 文档的 集合.一个collection可以分为多个slice,     每个slice的实例和其备份(replica)都称为shard.一个s ...

  8. ES与Solr的区别

    背景:它们都是基于Lucene搜索服务器基础之上开发,一款优秀的,高性能的企业级搜索服务器.[是因为他们都是基于分词技术构建的倒排索引的方式进行查询] 开发语言:Java语言开发 诞生时间:Solr ...

  9. iPad,iPad Pro和iPad Mini有什么区别?

    Apple's iPad line has gotten pretty hefty, between the 12.9-inch and 10.5-inch iPad Pro, the (blandl ...

最新文章

  1. 【技巧】实现饿了么Element UI的table单击(点击)编辑单元格内容
  2. 设计模式之外观模式学习笔记
  3. 大学python和vb哪个简单-vb和python哪个速度快
  4. leetcode算法题--数组中出现次数超过一半的数字
  5. Nagios基本搭建
  6. c语言abc变def,C语言的permutation求解
  7. linux下安装rar解压包
  8. phpcms图片无法上传
  9. SAP License:心情
  10. LeetCode(804)——唯一摩尔斯密码词(JavaScript)
  11. spring init
  12. Codejock.Xtreme.Toolkit.Pro.v15.3.1 for MFC 15种皮肤切换
  13. Linux 重命名文件和文件夹
  14. 给移动硬盘安装PE系统
  15. php 手机号码所属城市,基于PHP的手机号码归属地查询
  16. HTML中关于使用 innerHTML 动态创建DOM节点时,相关事件(如onclick等)失效的解决方案
  17. java迅雷下载excel,Asp.net生成Excel文件并下载(更新:解决使用迅雷下载页面而不是文件的问题)...
  18. excel怎么设置颜色的值记录
  19. 【word】和【excel】小技巧总结
  20. 小程序之任务发布与接单平台

热门文章

  1. 扩展SpringMVC以支持绑定JSON格式的请求参数
  2. 怎么快速把语音转成文字
  3. 解读 2018 之运维篇:我们离高效智能的运维还有多远
  4. Cacti 显示自定义的 SNMP 数据
  5. Eclipse设置字体
  6. 3、深入理解计算机系统笔记:程序的机器级表示
  7. Windows API一日一练(70)GetSystemTime和GetLocalTime函数
  8. 比特币现金生态:SLP开发人员发布新规则
  9. BCH推出BCH粉丝互动平台
  10. 压力测试即将开始,超前思维的128MB区块未必可行