Solr之集群管理Collection-yellowcong
  Hlmk1dDVrQDy 2023年11月02日 74 0


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

备份


Solr之集群管理Collection-yellowcong_其他

查看管控台

Solr之集群管理Collection-yellowcong_其他_02

案例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

Solr之集群管理Collection-yellowcong_参数说明_03

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

Solr之集群管理Collection-yellowcong_其他_04

添加分片(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_replica1
shard1_replica2
shard2_replica1
shard2_replica2

Solr之集群管理Collection-yellowcong_solr_05

又添加了一条副本

Solr之集群管理Collection-yellowcong_参数说明_06

添加副本(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

创建在哪个节点上

创建结果

Solr之集群管理Collection-yellowcong_solr_07

删除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

Solr之集群管理Collection-yellowcong_加载_08

查看管控台的节点信息

Solr之集群管理Collection-yellowcong_solr_09

删除分片

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

Solr之集群管理Collection-yellowcong_加载_10

删除副本

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

副本的名称是从tree里面查看到的,不是瞎写的

Solr之集群管理Collection-yellowcong_solr_11

删除后,就只剩下2个节点了

Solr之集群管理Collection-yellowcong_其他_12

拆分分片

#拆分分片,俺的报错了、、
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
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
Hlmk1dDVrQDy