Solr分片机制以及Solrcloud搭建及分片操作
Solr分片描述
分片是集合的逻辑分区,包含集合中文档的子集,这样集合中的每个文档都正好包含在一个分片中。集合中包含每个文档的分片取决于集合的整体“分片”策略。
当您的集合对于一个节点来说太大时,您可以通过创建多个分片将其分解并分段存储。
例如,您可能有一个集合,其中每个文档的“country”字段确定它是哪个shard的一部分,因此来自同一国家的文档位于同一个位置。不同的集合可能只在每个文档的uniquekey上使用“hash”来确定其分片。
在solrcloud之前,solr支持分布式搜索,允许跨多个分片执行一个查询,因此查询是针对整个solr索引执行的,搜索结果中不会遗漏任何文档。因此,在分片上分割索引并不是一个单独的solrcloud概念。
Solrcloud解决了这些限制。支持自动分发索引进程和查询,ZooKeeper提供故障转移和负载平衡。此外,每个分片都可以有多个副本,以增强健壮性。
Solrcloud 没有主从之分,相反,每个分片至少由一个物理副本组成,其中一个是领导者。领导者会自动当选,最初是基于先到先得的原则,然后根据zookeeper的选举原理。
每个分片中都有一个或多个副本,副本的类型有3种:
1. NRT:
This is the default. A NRT replica (NRT = NearRealTime) maintains a transaction log and writes new documents to it’s indexes locally. Any replica of this type is eligible to become a leader. Traditionally, this was the only type supported by Solr.
NRT:这是默认设置。NRT副本(NRT=NearRealtime)维护事务日志,并在本地将新文档写入其索引。此类型的任何副本都有资格成为领导者。传统上,这是solr支持的唯一类型。
2. TLOG:
This type of replica maintains a transaction log but does not index document changes locally. This type helps speed up indexing since no commits need to occur in the replicas. When this type of replica needs to update its index, it does so by replicating the index from the leader. This type of replica is also eligible to become a shard leader; it would do so by first processing its transaction log. If it does become a leader, it will behave the same as if it was a NRT type of replica.
TLOG:这种类型的副本维护事务日志,但不索引本地文档更改。这种类型有助于加速索引,因为副本中不需要进行提交。当这种类型的副本需要更新其索引时,它通过从领队复制索引来更新索引。这种类型的副本也有资格成为一个分片领队;它可以通过首先处理其事务日志来实现这一点。如果它真的成为一个领导者,它的行为将与它是一个NRT类型的复制品一样。
3. PULL:
This type of replica does not maintain a transaction log nor index document changes locally. It only replicates the index from the shard leader. It is not eligible to become a shard leader and doesn’t participate in shard leader election at all.
PULL:这种类型的副本既不维护事务日志,也不在本地更改索引文档。它只复制分片领导者的索引。它没有资格成为一个分片领袖,根本不参加分片领袖选举。
Solrcloud搭建及分片操作
1、在solr安装解压后的bin目录下输入:solr -e cloud
2、输入想要创建的solr节点数,此实例输入的是3个节点
3、输入每个节点的端口号,此实例3个节点的端口号分别为:20001,20002,20003
自此solrcloud搭建成功。
4、访问solr客户端管理页面:http://localhost:20001/solr/#/
5、创建集合以及设置分片和分片的副本:
Solr分片机制以及Solrcloud搭建及分片操作的更多相关文章
- Centos7:solr伪集群(SolrCloud)搭建
JDK,tocmat环境搭建 zookeeper集群安装 解压缩zookeeper的压缩包 创建data目录 复制zoo_sample.cfg为zoo.cfg 修改confg/zoo.cfg中 dat ...
- 搭建MongoDB分片集群
在部门服务器搭建MongoDB分片集群,记录整个操作过程,朋友们也可以参考. 计划如下: 用5台机器搭建,IP分别为:192.168.58.5.192.168.58.6.192.168.58.8.19 ...
- Solr学习笔记(4) —— SolrCloud的概述和搭建
一.概述 1.1 什么是SolrCloud Lucene是一个Java语言编写的利用倒排原理实现的文本检索类库: Solr是以Lucene为基础实现的文本检索应用服务.Solr部署方式有单机方式.多机 ...
- MongoDB 分片的原理、搭建、应用
一.概念: 分片(sharding)是指将数据库拆分,将其分散在不同的机器上的过程.将数据分散到不同的机器上,不需要功能强大的服务器就可以存储更多的数据和处理更大的负载.基本思想就是将集合切成小块,这 ...
- 搭建mongodb分片
搭建mongodb分片 http://gong1208.iteye.com/blog/1622078 Sharding分片概念 这是一种将海量的数据水平扩展的数据库集群系统,数据分表存储在shardi ...
- mongodb 3.4 集群搭建:分片+副本集
mongodb是最常用的nodql数据库,在数据库排名中已经上升到了前六.这篇文章介绍如何搭建高可用的mongodb(分片+副本)集群. 在搭建集群之前,需要首先了解几个概念:路由,分片.副本集.配置 ...
- mongodb 3.6 集群搭建:分片+副本集
mongodb是最常用的nosql数据库,在数据库排名中已经上升到了前六.这篇文章介绍如何搭建高可用的mongodb(分片+副本)集群. 在搭建集群之前,需要首先了解几个概念:路由,分片.副本集.配置 ...
- 第43章:MongoDB-集群--Sharding(分片)--多机的搭建
①环境准备 服务器规划 服务器[192.168.0.75] 服务器[192.168.0.84] 服务器[192.168.0.86] mongos mongos mongos config server ...
- ElasticSearch高可用集群环境搭建和分片原理
1.ES是如何实现分布式高并发全文检索 2.简单介绍ES分片Shards分片技术 3.为什么ES主分片对应的备分片不在同一台节点存放 4.索引的主分片定义好后为什么不能做修改 5.ES如何实现高可用容 ...
随机推荐
- .net 和 java 技术对应关系
.net 和 java 技术对应关系 java 生态的优势早已人尽皆知,asp.net core 的生态也呈欣欣向荣之势.作为高级技术从业人,你不应该落下任何一门技术. 如果你正在将你的 java 知 ...
- 记一个复杂组件(Filter)的从设计到开发
此文前端框架使用 rax,全篇代码暂未开源(待开源) 原文链接地址:Nealyang/PersonalBlog 前言 貌似在面试中,你如果设计一个 react/vue 组件,貌似已经是司空见惯的问题了 ...
- Python-进程相关概念
名词解释: 进程: 一个具有一定独立功能的程序关于某个数据集合的一次运行活动,是系统进行资源分配和调度运行的基本单位 1. 并行 在某个*时间点*,两件或两件以上的事件(任务)同时执行. 比如说,有三 ...
- (3)安装elastic6.1.3及插件kibana,x-pack,essql,head,bigdesk,cerebro,ik
6安装nginx 6.1安装nginx 安装 pcre,zlib,openssl,nginx 6.2生成web访问用户密码 htpasswd –c –b /usr/local/nginx/conf/p ...
- 深入理解perf报告中的swapper进程
一.前言 1.在perf监控进程的系统调用时,会出现大量swapper进程 2.官方描述该进程是当CPU上没有其他任务运行时,就会执行swapper.换句话说swapper意味着CPU啥事也没干,跑去 ...
- 11.Django基础九之中间件
一 前戏 我们在前面的课程中已经学会了给视图函数加装饰器来判断是用户是否登录,把没有登录的用户请求跳转到登录页面.我们通过给几个特定视图函数加装饰器实现了这个需求.但是以后添加的视图函数可能也需要加上 ...
- JS中数据类型转换
JS中数据类型转换汇总 JS中的数据类型分为 [基本数据类型] 数字 number 字符串 string 布尔 boolean 空 null 未定义 undefined [引用数据类型] 对象 obj ...
- Exceptionless 5.0.0 本地Docker快速部署介绍
在之前我有专门写两篇文章介绍过Exceptionless这款开源日志项目的使用和部署,但是当时是基于4.1.0版本(2017年的release),时隔两年多Exceptionless也推出了5.0.0 ...
- Excel VBA入门(十)用户窗体开发
VBA 中的用户窗体就是指带 UI 的用户界面,在运行的时候会单独弹出一个窗口,类似于在 windows 系统中运行的一个可执行程序一样(这个说法不太严谨,因为可执行程序也可能是只有命令窗口而没有 U ...
- 朱晔和你聊Spring系列S1E11:小测Spring Cloud Kubernetes @ 阿里云K8S
有关Spring Cloud Kubernates(以下简称SCK)详见https://github.com/spring-cloud/spring-cloud-kubernetes,在本文中我们主要 ...