Solr之集群管理Collection-yellowcong

来源:互联网 发布:资料整理软件 编辑:程序博客网 时间:2024/06/06 03:36

Solr集群管理控制中,有添加分片和主备的配置,但是控制台上面,好象没有,句话疼。。。。文章中做了关于solr集群的集合(Collection)、分片(shards)、副本(replication)的添加和删除操作的实验。api其实挺简单的,就是一顿的复制粘贴,修改分片的参数。

创建集合

案例1

创建一个两片的collection,每片是一主一备。
使用以下命令创建:

http://192.168.66.100:8081/solr/admin/collections?action=CREATE&name=collection2&numShards=2&replicationFactor=2

参数说明

参数 名称 action CREATE(创建集合)(DELETE 删除集合) name 集合的名称 numShards 几片 replicationFactor 备份


这里写图片描述

查看管控台
这里写图片描述

案例2

#创建3个分片,每个分片有3个副本数,(最大总分片副本数 3*4 = 12 )http://192.168.66.100:8081/solr/admin/collections?action=CREATE&name=collection2&numShards=3&replicationFactor=3&maxShardsPerNode=3&collection.configName=myconf#createNodeSet 指定core,也就是主节点的地址http://192.168.66.100:8081/solr/admin/collections?action=CREATE&name=collection3&numShards=3&replicationFactor=3&maxShardsPerNode=3&collection.configName=myconf&createNodeSet=192.168.66.100:8081_solr,192.168.66.100:8082_solr,192.168.66.100:8083_solr

参数说明

参数 名称 action CREATE(创建集合)(DELETE 删除集合) name 集合的名称 numShards 集合创建时需要创建逻辑分片的个数 replicationFactor 分片的副本数。replicationFactor(复制因子)为 3 意思是每个逻辑分片将有 3 份副本。 maxShardsPerNode 默认值为1,每个Solr服务器节点上最大分片数(4.2新增的) createNodeSet 如果不提供该参数,那么会在所有活跃节点上面创建core,如果提供该参数就会在指定的solr节

备注:注意三个数值:numShards、replicationFactor、liveSolrNode(当前存活的solr节点,也就是运行的节点),一个正常的solrCloud集群不容许同一个liveSolrNode上部署同一个shard的多个replic,因此当maxShardsPerNode=1时,numShards*replicationFactor>liveSolrNode时,报错。因此正确时因满足以下条件:numShards*replicationFactor<liveSolrNode*maxShardsPerNode

这里写图片描述

指定节点后的创建效果,感觉createNodeSet 配置没生效,

这里写图片描述

添加分片(shard)

#给collection1 添加分片,同时还创建一份副本http://192.168.66.100:8081/solr/admin/cores?action=CREATE&name=shard2_replica1&instanceDir=shard2_replica1&dataDir=data&collection=collection1&shard=shard2&collection.configName=myconf

参数说明

参数 名称 action CREATE(创建分片)(DELETE 删除分片) name 分片的名称(有命名规则的shard1_replica1 表示1一个分片的第一个备份) instanceDir 集合创建时需要创建逻辑分片的个数(同上) dataDir 数据存储地址 collection 需要创建分片的集合 shard 分片名称(如果没有这个分片,就会创建分片,有就会在分片下面添加副本) collection.configName 配置名称

则命名如下:

#命名规则#创建pscp的集合,2个分片,每个分片上面有两个备份shard1_replica1shard1_replica2shard2_replica1shard2_replica2

这里写图片描述

又添加了一条副本
这里写图片描述

添加副本(replication)

#上面这句话的意思就是在collection1这个集合的shard2分片上添加一个副本,副本的地址在192.168.66.100:8082_solr台机子上面  http://192.168.66.100:8081/solr/admin/collections?action=ADDREPLICA&collection=collection1&shard=shard1&node=192.168.66.100:8082_solr  #--------------------------------------------------------#创建shard7 给shar1创建一个备份,这是第二种创建方式(这种方式等同于创建分片的方式)http://192.168.66.100:8083/solr/admin/cores?action=CREATE&name=shard1_replica7&instanceDir=shard1_replica7&dataDir=data&collection=collection1&shard=shard1&collection.configName=myconf

参数说明

参数 名称 action ADDREPLICA(创建副本) collection 集合名称 shard 哪个分片的副本 node 创建在哪个节点上



创建结果

这里写图片描述

删除collection

删除刚刚建立的collection2 节点

#删除集合http://192.168.66.100:8081/solr/admin/collections?action=DELETE&name=collection2#删除副本http://192.168.66.100:8083/solr/admin/cores?action=DELETE&name=shard1_replica7

这里写图片描述

查看管控台的节点信息
这里写图片描述

删除分片

#删除第一个collection1集合的shard1分片http://192.168.66.100:8083/solr/admin/collections?action=DELETESHARD&collection=collection1&shard=shard1

这里写图片描述

删除副本

#删除collection1 中的shard2中的core_node10副本http://192.168.66.100:8083/solr/admin/collections?action=DELETEREPLICA&collection=collection1&shard=shard2&replica=core_node10

副本的名称是从tree里面查看到的,不是瞎写的
这里写图片描述

删除后,就只剩下2个节点了
这里写图片描述

拆分分片

#拆分分片,俺的报错了、、http://192.168.66.100:8083/solr/admin/collections?action=SPLITSHARD&collection=collection1&shard=shard2

重新加载

重新加载: name 表示的是集合的名称http://192.168.66.100:8081/solr/admin/collections?action=RELOAD&name=collection2

参考文档

http://www.codeweblog.com/solrcloud-tomcat-zookeeper%e9%9b%86%e7%be%a4%e9%85%8d%e7%bd%ae/
http://eksliang.iteye.com/blog/2124078
http://blog.csdn.net/guochunyang/article/details/49181589

原创粉丝点击