知识点
相关文章
更多最近更新
更多SolrCloud和MultiCore的区别
2019-03-27 01:27|来源: 网路
首先我们初步理解一下概念
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来完成。
转自:http://www.solr.cc/blog/?p=99
相关问答
更多-
为什么要使用solrcloud[2023-01-30]
现在我们来剖析下这样一个简单的集群构建的基本流程: 先从第一台solr服务器说起: 1) 它首先启动一个嵌入式的Zookeeper服务器,作为集群状态信息的管理者, 2) 将自己这个节点注册到/node_states/目录下 3) 同时将自己注册到/live_nodes/目录下 4)创建/overseer_elect/leader,为后续Overseer节点的选举做准备,新建一个Overseer, 5) 更新/clusterstate.json目录下json格式的集群状态信息 6) 本机从Zookeeper ... -
javaweb怎么用solrcloud[2022-06-01]
1.搭建tomcat单机版solr 见我的上一篇博文solr安装-tomcat单机版 2.安装配置zookeeper 具体下载,安装,配置不详细说了,很简单。只列出我的关键配置项,如下: clientPort=4181 server.2=hadoop.datanode5.com:2888:9888 server.3=hadoop.datanode2.com:2888:9888 server.1=hadoop.datanode3.com:2888:9888 3. 配置solrCloud (1)先配置主服务器t ... -
solr和solrcloud速度有区别吗[2021-10-20]
5亿数据量,得考虑用solrcould分片了。使用solrcolud对索引分片,减小单个搜索实例的索引量来提高响应时间,当然使用replica可以提高并发效率。 -
SolrCloud和MultiCore的区别[2023-03-06]
SolrCloud 用多台机搭建一个SolrCore(即整个系统只有一套schema,solrconfig) MultiCore 是多个独立的服务,不同的core可以用几套schema,solrconfig。 -
php break后面跟的数字是什么意思[2022-04-15]
区别 -
1)我假设通过多进程你的意思是将一个程序分成多个进程(通常使用POSIX系统中的fork()方法完成),而不是多任务处理。 多处理或多任务处理的通常定义是允许单个CPU通过非常频繁地在它们之间切换来运行看似并行的多个进程。 多核意味着单个CPU可以具有多个能够执行任务的核心,并且所有执行单元都以某种方式连接(取决于处理器的体系结构)。 除非您编写的是非常低级的软件,例如操作系统,否则这些事情通常对您的编程方式没有影响。 分叉过程(我相信你的意思)通常是通过操作系统提供的一些方法完成的,实际上是一个很大的主题 ...
-
Solrcloud多核配置(Solrcloud multicore configuration)[2022-08-22]
在SolrCloud中,您的每个Core都将成为Collection 。 每个Collection都有自己的一组配置文件和数据。 您可能会发现这个有用的移动多核SOLR实例到云 Solr 5.0(以后)对如何使用分片创建SolrCloud设置以及如何添加集合等进行了一些更改。 下面列出的所有内容都是我对Solr参考指南的理解。 我强烈建议彻底完成它。 https://cwiki.apache.org/confluence/display/solr/Apache+Solr+Reference+Guide 我在 ... -
通过编辑并行计算的“本地”配置,我解决了这个问题(使用2核心和4线程的核心i5): 转到Parallel->Manage Cluster Profiles 根据你的Matlab版本,你需要在更改任何东西之前Validate local配置文件。 点击edit并更改NumWorkers变量以适应您的需求。 然后你可以像这样开始matlabpool : matlabpool local 注意我从来没有使用parfor加速。 Matlab的开销总是超过了好处。 我所说的是:先测试你的代码,然后决定是否使用par ...
-
SolrCloud - 内存不足(SolrCloud - Out of Memory)[2023-02-25]
最好的方法应该是将solr云升级到版本6.2.1。 如果节点是32位拱,它还取决于节点架构。 那么如果节点是64位arch,那么堆大小超过2gb就不会工作,你可以分配更多的堆大小但是会产生gc开销错误。 所以最好更新solr并添加更多分片和副本以避免错误。 The best approach should be to upgrade the solr cloud to version 6.2.1. it also depends on the node architecture if the node is ... -
Solr 4.x和SolrCloud(Solr 4.x and SolrCloud)[2023-11-06]
云功能是Solr的一部分。 对于生产,您需要将ZooKeeper作为单独的应用程序(它也可以作为Solr的一部分运行,但不建议在生产中执行此操作) https://cwiki.apache.org/confluence/display/solr/SolrCloud Cloud features are a part of Solr. For production you would need to have ZooKeeper as separate application (it's can be run ...