13.1SolrCloud集群使用手册之Collections API
转载请出自出处:http://www.cnblogs.com/hd3013779515/
1.创建collection
name:指明collection名字 router.name:指定路由策略,默认为compositeId路由 numShards:collection的逻辑分片数量 shards:指定具体的shard列表 replicationFactor:一个分片的replicas数量 maxShardsPerNode :一个solr节点上可以创建的逻辑分片数量,默认值为1 createNodeSet:可以指定在那些solr节点上创建collection
路由规则
SolrCloud中对于文档分布在哪个shard上,提供了两种路由算法:compositeId和implicit
在创建Collection时,需要通过router.name指定路由策略,默认为compositeId路由。
compositeId
该路由为一致性哈希路由,shards的哈希范围从80000000~7fffffff。初始创建collection是必须指定numShards个数,compositeId路由算法根据numShards的个数,计算出每个shard的哈希范围,因此路由策略不可以扩展shard。
implicit
该路由方式指定索引具体落在路由到哪个Shard,这与compositeId路由方式索引可均匀分布在每个shard上不同。同时只有在implicit路由策略下才可创建shard。
利用solrJ新建索引时,需要在代码中指定索引具体落在哪个shard上,添加代码:
doc.addField("_route_", "shard_X");
同时在schema.xml添加字段
<field name="_route_" type="string"/>
当我们想指定配置文件,索引目录时,可以加入如下参数
|
property.name=value |
string |
No |
Set core property name to value. See core.properties file contents. |
可选参数如下:
|
key |
Description |
|
name |
The name of the SolrCore. You'll use this name to reference the SolrCore when running commands with the CoreAdminHandler. |
|
config |
The configuration file name for a given core. The default is solrconfig.xml. |
|
schema |
The schema file name for a given core. The default is schema.xml |
|
dataDir |
Core's data directory as a path relative to the instanceDir, data by default. |
|
configSet |
If set, the name of the configset to use to configure the core (see Config Sets). |
|
properties |
The name of the properties file for this core. The value can be an absolute pathname or a path relative to the value of instanceDir. |
|
transient |
If true, the core can be unloaded if Solr reaches the transientCacheSize. The default if not specified is false. Cores are unloaded in order of least recently used first. |
|
loadOnStartup |
If true, the default if it is not specified, the core will loaded when Solr starts. |
|
coreNodeName |
Added in Solr 4.2, this attributes allows naming a core. The name can then be used later if you need to replace a machine with a new one. By assigning the new machine the same coreNodeName as the old core, it will take over for the old SolrCore. |
|
ulogDir |
The absolute or relative directory for the update log for this core (SolrCloud) |
|
shard |
The shard to assign this core to (SolrCloud) |
|
collection |
The name of the collection this core is part of (SolrCloud) |
|
roles |
Future param for SolrCloud or a way for users to mark nodes for their own use. |
使用Collections API:CREATE来创建collection时需要符合下面的条件。
shards*replicationFactor <= maxShardsPerNode*Node数
http://192.168.137.171:8080/solr-cloud/admin/collections?action=CREATE&name=myc&numShards=2&replicationFactor=3&maxShardsPerNode=2

http://192.168.137.171:8080/solr-cloud/admin/collections?action=CREATE&name=myc2&numShards=2&replicationFactor=2&maxShardsPerNode=2&createNodeSet=192.168.137.171:8080_solr-cloud,192.168.137.172:8080_solr-cloud

http://192.168.137.171:8080/solr-cloud/admin/collections?action=CREATE&name=myc3&router.name=implicit&shards=shard1,shard2&replicationFactor=3&maxShardsPerNode=3

指定配置文件
http://192.168.137.171:8080/solr-cloud/admin/collections?action=CREATE&name=myc2&numShards=2&replicationFactor=3&maxShardsPerNode=2&collection.configName=myconf2&property.config=solrconfig2.xml&property.schema=schema2.xml


2.删除collection
http://192.168.137.171:8080/solr-cloud/admin/collections?action=DELETE&name=myc2

3.RELOAD collection
如果schema中的属性有变动,只需要将正确的schema上传到服务器上之后重启solr即可
http://192.168.137.171:8080/solr-cloud/admin/collections?action=RELOAD&name=myc
4. SPLITSHARD(纵向扩容)
使用Collections API:SPLITSHARD来创建SHARD时不需要符合下面的条件。
shards*replicationFactor <= maxShardsPerNode*Node数
整体逻辑:无缝连接和无downtime
旧shard此时继续提供服务并把旧索引转到新的shard上
旧shard同时继续索引新文档
旧shard同时把新文档转发给新shard,新shard索引新文档
旧索引全部迁移到新shard之后,旧shard关闭,新文档直接转发到新的shard上了
手动利用DELETESHARD API删除旧shard
implicit路由:只要创建Shard即可: 新建索引时,将索引建到新建Shard上,查询操作时,指定collection名称,得到的仍是整个集群返回的结果。
compositeId路由:通过分裂(SPLITSHARD)操作实现。
http://192.168.137.171:8080/solr-cloud/admin/collections?action=SPLITSHARD&collection=myc&shard=shard1

5.CREATESHARD
路由规则为implicit 时才可以使用。
使用Collections API:CREATESHARD来创建shard时需要符合下面的条件。
shards*replicationFactor <= maxShardsPerNode*Node数
http://192.168.137.171:8080/solr-cloud/admin/collections?action=CREATESHARD&collection=myc3&shard=shard3

6. DELETESHARD
删除inactive shard
http://192.168.137.171:8080/solr-cloud/admin/collections?action=DELETESHARD&collection=myc2&shard=shard1

7.CREATEALIAS
实现跨collection查询,新建和修改都是使用CREATEALIAS。
http://192.168.137.171:8080/solr-cloud/admin/collections?action=CREATEALIAS&name=newc&collections=myc,myc2

8.DELETEALIAS
http://192.168.137.171:8080/solr-cloud/admin/collections?action=DELETEALIAS&name=newc

9.DELETEREPLICA
http://192.168.137.171:8080/solr-cloud/admin/collections?action=DELETEREPLICA&collection=myc2&shard=shard2&replica=192.168.137.171:8080_solr-cloud_myc2_shard2_replica2
10.ADDREPLICA
http://192.168.137.171:8080/solr-cloud/admin/collections?action=ADDREPLICA&collection=myc2&shard=shard2&node=192.168.137.171:8080_solr-cloud

使用Collections API:ADDREPLICA来创建replica时不需要符合下面的条件。
shards*replicationFactor <= maxShardsPerNode*Node数
13.1SolrCloud集群使用手册之Collections API的更多相关文章
- 13.2SolrCloud集群使用手册之CoreAdmin API
转载请出自出处:http://www.cnblogs.com/hd3013779515/ CoreAdminHandler是用来管理Solr cores的,用来管理一个Solr instance中所有 ...
- 13.4SolrCloud集群使用手册之CRUD
转载请出自出处:http://www.cnblogs.com/hd3013779515/ Student.java package cn.ljh.ssm.test; import org.apache ...
- 13.3SolrCloud集群使用手册之Zookeeper指令
转载请出自出处:http://www.cnblogs.com/hd3013779515/ 1.upconfig java -classpath .:/home/solr/cloud/lib/* org ...
- Ubuntu_10.04下Hadoop-0.20.2集群配置手册
Ubuntu_10.04下Hadoop-0.20.2集群配置手册 一.软硬件环境的准备 下面的文章来自hadoopor.com,我先交待一下我自己的环境: 两台机器,每台机器上面两个虚机(vmware ...
- Nginx+Tomcat+MemCached 集群配置手册
系统实施文档 Nginx+Tomcat+MemCached 集群配置手册 目 录 第1章 概述 1.1 目标 互联网的快速发展带来了互联网系统的高负载和高可用性, 这要求我们在设计系统架 ...
- 实现CI/CDk8s高可用集群搭建总结以及部署API到k8s
实现CI/CD(Centos7.2)系列二:k8s高可用集群搭建总结以及部署API到k8s 前言:本系列博客又更新了,是博主研究很长时间,亲自动手实践过后的心得,k8s集群是购买了5台阿里云服务器部署 ...
- OEMCC 13.2 集群版本安装部署
之前测试部署过OEMCC 13.2单机,具体可参考之前随笔: OEMCC 13.2 安装部署 当时环境:两台主机,系统RHEL 6.5,分别部署OMS和OMR: OMS,也就是OEMCC的服务端 IP ...
- Greenplum(4.3.73)集群安装手册
1. 概述 本文档仅限于指导Greenplum 4.3.7.3(对应安装包greenplum-db-4.3.7.3-build-2-RHEL5-x86_64.bin)版本在CentOS6.5 系统进行 ...
- kubeadm安装kubernetes 1.13.1集群完整部署记录
k8s是什么 Kubernetes简称为k8s,它是 Google 开源的容器集群管理系统.在 Docker 技术的基础上,为容器化的应用提供部署运行.资源调度.服务发现和动态伸缩等一系列完整功能,提 ...
随机推荐
- .3-浅析express源码之applicaiton模块(2)-app.render
这个模块还漏了一个稍微复杂点的API,就是app.render,首先看官网的定义: app.render(view, [locals], callback) view为对应的文件名,locals为一个 ...
- Spring学习之路-注解
Spring的注解总结. 地址:https://docs.spring.io/spring/docs/4.3.12.RELEASE/spring-framework-reference/htmlsin ...
- C#调用百度地图API经验分享(四)
这一篇,记录一下我调用的地图API实现的功能.下面介绍的都是一些片段的节选,不能直接复制就运行.在实现之前肯定要加载地图,先放一个webbroser控件,然后如下: private void Form ...
- js 日文全半角转换
客户的需求是,输入半角字符或日语假名,筛选出来的结果显示包含该字符的半角形式和全角形式的所有结果,输入全角也是同样的结果.这里就需要将输入的字符全部转为半角和全角,再去匹配结果. 在网上搜了一圈之后, ...
- 在Oracle中实现每日表备份并删除7天前的备份表
不用闪回技术,因为业务想眼睁睁的看到备份表,而不是让DBA搞一通之后,才能看到备份数据表 OK,那好办了,写个存储过程解决你的需求,每天建个新表,把数据备份进去,业务人员可以看到这些每天的备份表 然后 ...
- Linux常用基本命令(head)
head命令 作用:显示文件的头部内容,默认显示前面10行 格式: head [option] [file] -n <行数> -c <字节> ghostwu@dev:~/lin ...
- php中的static静态变量
今天碰到了一个php的小试题,一直没有明白为什么第三次循环是static静态变量没有起作用呢?想了好久才明白原理. <?php class MyClass{ function add($b){ ...
- python学习之老男孩python全栈第九期_day014作业
0. 默写a. 生成器函数获取移动平均值例子: def init(func): def inner(*args,**kwargs): ret = func(*args,**kwargs) ret.__ ...
- vue实现倒计时的插件 时间戳 刷新 跳转 都不影响
工作当中需要开发一个倒计时插件,于是开始网上先拿来主义,发现好多倒计时的插件,刷新都会变成从头再来,于是自己用vue2.0写了一个插件,测试已经通过,直接上代码 如下是组件代码: <templa ...
- HTML初学小技巧
01.让背景图不滚动IE浏览器支持一个 Body 属性 bgproperties,它可以让背景不滚动:〈Body Background="图片文件" bgproperties=&q ...
