转自——找不到出处了。。

一.简介

SolrCloud是Solr4.0版本以后基于Solr和Zookeeper的分布式搜索方案。SolrCloud是Solr的基于Zookeeper一种部署方式。Solr可以以多种方式部署,例如单机方式,多机Master-Slaver方式。

二.特色功能

SolrCloud有几个特色功能:

集中式的配置信息使用ZK进行集中配置。启动时可以指定把Solr的相关配置文件上传Zookeeper,多机器共用。这些ZK中的配置不会再拿到本地缓存,Solr直接读取ZK中的配置信息。配置文件的变动,所有机器都可以感知到。另外,Solr的一些任务也是通过ZK作为媒介发布的。目的是为了容错。接收到任务,但在执行任务时崩溃的机器,在重启后,或者集群选出候选者时,可以再次执行这个未完成的任务。

自动容错SolrCloud对索引分片,并对每个分片创建多个Replication。每个Replication都可以对外提供服务。一个Replication挂掉不会影响索引服务。更强大的是,它还能自动的在其它机器上帮你把失败机器上的索引Replication重建并投入使用。

近实时搜索立即推送式的replication(也支持慢推送)。可以在秒内检索到新加入索引。

查询时自动负载均衡SolrCloud索引的多个Replication可以分布在多台机器上,均衡查询压力。如果查询压力大,可以通过扩展机器,增加Replication来减缓。

自动分发的索引和索引分片发送文档到任何节点,它都会转发到正确节点。

事务日志事务日志确保更新无丢失,即使文档没有索引到磁盘。

其它值得一提的功能有:

索引存储在HDFS上索引的大小通常在G和几十G,上百G的很少,这样的功能或许很难实用。但是,如果你有上亿数据来建索引的话,也是可以考虑一下的。我觉得这个功能最大的好处或许就是和下面这个“通过MR批量创建索引”联合实用。

通过MR批量创建索引有了这个功能,你还担心创建索引慢吗?

强大的RESTful API通常你能想到的管理功能,都可以通过此API方式调用。这样写一些维护和管理脚本就方便多了。

优秀的管理界面主要信息一目了然;可以清晰的以图形化方式看到SolrCloud的部署分布;当然还有不可或缺的Debug功能。

三.概念

Collection:在SolrCloud集群中逻辑意义上的完整的索引。它常常被划分为一个或多个Shard,它们使用相同的Config Set。如果Shard数超过一个,它就是分布式索引,SolrCloud让你通过Collection名称引用它,而不需要关心分布式检索时需要使用的和Shard相关参数。

Config Set: Solr Core提供服务必须的一组配置文件。每个config set有一个名字。最小需要包括solrconfig.xml (SolrConfigXml)和schema.xml (SchemaXml),除此之外,依据这两个文件的配置内容,可能还需要包含其它文件。它存储在Zookeeper中。Config sets可以重新上传或者使用upconfig命令更新,使用Solr的启动参数bootstrap_confdir指定可以初始化或更新它。

Core: 也就是Solr Core,一个Solr中包含一个或者多个Solr Core,每个Solr Core可以独立提供索引和查询功能,每个Solr Core对应一个索引或者Collection的Shard,Solr Core的提出是为了增加管理灵活性和共用资源。在SolrCloud中有个不同点是它使用的配置是在Zookeeper中的,传统的Solr core的配置文件是在磁盘上的配置目录中。

Leader: 赢得选举的Shard replicas。每个Shard有多个Replicas,这几个Replicas需要选举来确定一个Leader。选举可以发生在任何时间,但是通常他们仅在某个Solr实例发生故障时才会触发。当索引documents时,SolrCloud会传递它们到此Shard对应的leader,leader再分发它们到全部Shard的replicas。

Replica: Shard的一个拷贝。每个Replica存在于Solr的一个Core中。一个命名为“test”的collection以numShards=1创建,并且指定replicationFactor设置为2,这会产生2个replicas,也就是对应会有2个Core,每个在不同的机器或者Solr实例。一个会被命名为test_shard1_replica1,另一个命名为test_shard1_replica2。它们中的一个会被选举为Leader。

Shard: Collection的逻辑分片。每个Shard被化成一个或者多个replicas,通过选举确定哪个是Leader。

Zookeeper: Zookeeper提供分布式锁功能,对SolrCloud是必须的。它处理Leader选举。Solr可以以内嵌的Zookeeper运行,但是建议用独立的,并且最好有3个以上的主机。

四.架构图

索引(collection)的逻辑图
index

Solr和索引对照图
solr-index

创建索引过程
create-index

分布式查询
search

Shard Splitting

五.其它

NRT 近实时搜索Solr的建索引数据是要在提交时写入磁盘的,这是硬提交,确保即便是停电也不会丢失数据;为了提供更实时的检索能力,Solr设定了一种软提交方式。软提交(soft commit):仅把数据提交到内存,index可见,此时没有写入到磁盘索引文件中。

一个通常的用法是:每1-10分钟自动触发硬提交,每秒钟自动触发软提交。

RealTime Get 实时获取允许通过唯一键查找任何文档的最新版本数据,并且不需要重新打开searcher。这个主要用于把Solr作为NoSQL数据存储服务,而不仅仅是搜索引擎。Realtime Get当前依赖事务日志,默认是开启的。另外,即便是Soft Commit或者commitwithin,get也能得到真实数据。 注:commitwithin是一种数据提交特性,不是立刻,而是要求在一定时间内提交数据.

SolrCloud简介——solr 名词解释相关推荐

  1. (22)FPGA面试题名词解释IRQ、BIOS、USB、VHDL、SDR

    1.1 FPGA面试题名词解释IRQ.BIOS.USB.VHDL.SDR 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)FPGA面试题名词解释IRQ.BIOS.USB. ...

  2. Vivado时序报告名词解释

    1.1 Vivado时序报告名词解释 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)Vivado时序报告名词解释: 5)结束语. 1.1.2 本节引言 "不积 ...

  3. 前置:API:DSP:核心交换机:边界网关协议:边界:(防御)防火墙:负载均衡:摆渡机:名词解释

    前置:API:DSP:核心交换机:边界网关协议:边界:(防御)防火墙:负载均衡:摆渡机:名词解释 前置: 前置,拼音qián zhì,游戏术语,在即时战略游戏(RTS)中,将建筑物建造在作战前线(例如 ...

  4. 用户行为分析的基本概览和常用名词解释

    基本概念 本节,我们主要介绍在使用小象分析来进行用户行为分析时常用到的一些名词和一些基础指标的配置说明,目的是帮助用户更好的理解和使用小象数据的功能来解决基本的分析需求. 行为分析常用名词 维度 维度 ...

  5. crosstool-ng 交叉工具链默认配置 名词解释

    crosstool-ng默认配置列表 crosstool-ng版本1.23.0 安装使用参考 centos7用crosstool-ng构建交叉工具编译链 https://blog.csdn.net/w ...

  6. 转专业计算机常见的名词解释,迎鲜肉第9弹|大学生活必知名词解释

    原标题:迎鲜肉第9弹|大学生活必知名词解释 小青小青,快开学了,但是我还有很多不知道的事情,感觉有一点不安. 不用太担心,放松心情最重要!开学之后,你会慢慢适应大学生活的.在不如我先跟你介绍几个你不得 ...

  7. 关于一些WM系统手机的名词解释【转】

    关于一些WM系统手机的名词解释[转] 2011年02月20日 1. ROM,RAM,Flash Memory ROM(Read Only Memory)的全名为只读记忆体,是PPC上的硬盘部分用来存储 ...

  8. SolrCloud简介

    一.简介 SolrCloud是Solr4.0版本以后基于Solr和Zookeeper的分布式搜索方案.SolrCloud是Solr的基于Zookeeper一种部署方式.Solr可以以多种方式部署,例如 ...

  9. OpenGL ES 名词解释(二)

    目录 一.前言 二.坐标系 1.屏幕坐标系 2.纹理坐标系 3.顶点坐标系 4.图像坐标系 三.混合 四.变换矩阵 1.平移 2.旋转 3.缩放 4.矩阵组合顺序 五.投影矩阵 1.正交投影 2.透视 ...

最新文章

  1. 数据结构与算法的八股文自述(持续更新)
  2. SAP Retail系统门店主数据维护思路
  3. Android Bitmap圆角
  4. KEIL编译stdarg处理机制遇到incorrect use之类的问题
  5. 基于FPGA的HDB3数字编码器设计
  6. sap abap 对字符串的操作
  7. Objective - C基础: 第一天 - 1. 第1, 2个OC程序
  8. Docker安装mysql并连接
  9. Windows Server 2008 没有磁盘清理工具的情况下使用系统提供的磁盘清理工具
  10. 通过改进视频质量评估提升编码效率
  11. 继续送假期干货——响应式图片工具smartImg
  12. linux bash tutorial
  13. Pandas中的元素替换
  14. ssm_layui_billmanagersystem账单管理系统(全栈开发)
  15. 《从问题到程序:用Python学编程和计算》——2.4 字符串
  16. ActionErrors和ActionError
  17. idea git将多余的代码提交到本地,如何退回。
  18. soapui使用教程2-属性与脚本
  19. C/C++二路归并排序
  20. 世界最早投入运行的计算机网络是,世界上最早投入运行的计算机网络是。

热门文章

  1. win10+NVIDIA GTX 960M+CUDA 8.0+cudnn6.0安装
  2. winaip文档服务器打印,使用 Win32 API 将原始数据发送到打印机
  3. Spring Data Redis 正确使用姿势
  4. 诛仙手游服务器维护中,诛仙手游2021年7月22日更新维护公告
  5. 香港的架构师告诉大家关于香港零代码PM的恶行
  6. 21世纪,计算机的普及与互联网的发展,推进服装企业信息化时代
  7. cropper 图片跨域
  8. Matlab编写二叉树定价公式,美式期权二叉树定价及MATLAB程序
  9. 摄像机、NVR公网IP不固定解决方案(Java+tcpdump)
  10. dubbo 支持的9种协议