Solr之SolrCloud的基本操作
1. solr环境变量设置
export SOLR_BASE=/root/solr/ export PATH=$SOLR_BASE/bin:$PATH
2. 管理Collection
1. 创建Collection
1. 基本语法
solr create_collection [-c collection] [-d confdir] [-n configName] [-shards #] [-replicationFactor #] [-p port]
-c collection 表示你需要创建的Collection名称
-d confdir 表示collection需要的配置文件目录
-n configName 表示配置文件在Zookeeper中的名称
-shards 用于指定当前Collection分成几个shard,默认为1
-replicationFactor 用于指定当前collection的每个shard划分几个replica,默认值为1
-p port 使用本地哪个solr来创建这个collection
2. 实例
solr create_collection -c milanyi -d /var/solr/data/milanyi/conf/ -n milanyi -shards 3 -replicationFactor 2 -p 8080
2. 删除Collection
1. 语法
solr delete [-c name] [-deleteConfig true|false] [-p port]
-c name 想要删除的collection或core的名称
-deleteConfig 删除collection的同时是否从zookeeper删除collection相关的配置文件,默认值为true
-p port 表示想要用来删除core或collection本地运行中的solr实例对应的端口号
2. 实例
solr delete -c milanyi -deleteConfig false -p 8080
3. 查看collection
1. 使用浏览器访问:http://172.16.1.203:8080/solr/admin/collections?action=list
4. Collection健康检测
1. 语法
solr healthchek [-c collection] [-z zkHost]
2. 实例
solr healthcheck -c zhenpin -z 172.16.1.228:2181,172.16.1.229:2181,172.16.1.230:2181/dev-zhenpin
3. 管理zookeeper上的配置文件
1. 使用solr脚本管理zookeeper配置文件
1. 上传文件或目录
/root/solr/bin/solr zk -upconfig -d /opt/solr/data/zhenpin/conf/ -n kaifa-zhenpin -z 172.16.1.228:2181,172.16.1.229:2181,172.16.1.230:2181/kaifa-zhenpin
上面的命令用于从本地机器上传配置文件到zookeeper中
-d 表示一个本地文件系统上的目录
-n 表示上传到zookeeper以后的目录名称
-z 用于指定zookeeper的访问地址
注意:本地修改以后,上传至zookeeper,重新加载collection立即生效
2. 下载文件目录到本地
/root/solr/bin/solr zk -downconfig -d /var/solr/data/zhenpin/ -n zhenpin -z 172.16.1.228:2181,172.16.1.229:2181,172.16.1.230:2181/kaifa-zhenpin
2. 使用zkcli.sh脚本管理zookeeper
1. 上传目录
/root/solr/server/scripts/cloud-scripts/zkcli.sh -cmd upconfig -d /opt/solr/data/zhenpin/conf/ -n zhenpin -c zhenpin -z 172.16.1.228:2181,172.16.1.229:2181,172.16.1.230:2181/kaifa-zhenpin
-c 指定collection的名称
2. 下载目录
/root/solr/server/scripts/cloud-scripts/zkcli.sh -cmd downconfig -d /opt/solr/data/zhenpin/conf/ -n zhenpin -c zhenpin -z 172.16.1.228:2181,172.16.1.229:2181,172.16.1.230:2181/kaifa-zhenpin
3. 上传文件
/root/solr/server/scripts/cloud-scripts/zkcli.sh -z 172.16.1.228:2181,172.16.1.229:2181,172.16.1.230:2181/kaifa-zhenpin -cmd putfile /configs/zhenpin/schema.xml /opt/solr/data/zhenpin/conf/schema.xml
4. 下载文件
/root/solr/server/scripts/cloud-scripts/zkcli.sh -z 172.16.1.228:2181,172.16.1.229:2181,172.16.1.230:2181/kaifa-zhenpin -cmd getfile /configs/zhenpin/schema.xml /opt/solr/data/zhenpin/conf/schema.xml
4. solrcloud配置详解
1. solr.xml详解
solr.xml必须在${SOLR_HOME}根目录下
solr.xml随着版本不断升级,已经成为solrcloud的配置阵地。之前的core配置已经转移到core.properties文件中。

2. core.properties详解

5. solrcloud常用的API
1. collection常用操作API
1. 创建collection
http://172.16.1.228:8983/solr/admin/collections?action=CREATE&name=milanyi&numShards=1&replicationFactor=3&collection.configName=milanyi
action 表示动作
name collection名称
numShards 划分几个分片
replicationFactor 每个分片有几个副本
collection.configName 参数表示当前 Collection需要的配置文件( 比如 solrconfig.xml 、 schema.xml 等)目录在 Zookeeper 上的名称
maxShardsPerNode 每个节点最多几个副本
2. 修改collection
http://172.16.1.228:8983/solr/admin/collections?action=MODIFYCOLLECTION&collection=<collection-name>&<attribute-name>=<attribute-value>
3. 重新加载collection
http://172.16.1.228:8983/solr/admin/collections?action=RELOAD&name=milanyi
4. 删除collection
http://172.16.1.228:8983/solr/admin/collections?action=DELETE&name=milanyi
2. shard常用操作API
1. 分割shard
http://172.16.1.228:8983/solr/admin/collections?action=SPLITSHARD&collection=zhenpin&shard=1
2. 创建一个shard
/admin/collections?action=CREATESHARD&shard=shardName&collection=collectionName
3. 删除一个shard
/admin/collections?action=DELETESHARD&shard=shardID&collection=collectionName
4. 强制Leader选举
/admin/collections?action=FORCELEADER&collection=<collectionName>&shard=<shardName>
3. Replica常用操作API
1. 创建一个Replica
http://172.16.1.228:8983/solr/admin/collections?action=ADDREPLICA&collection=zhenpin&shard=shard1
2. 删除一个Replica
http://172.16.1.228:8983/solr/admin/collections?action=DELETEREPLICA&collection=zhenpin&shard=shard1&replica=core_node3
3. 将一个节点上的所有Replica迁移到另外一个节点
http://172.16.1.228:8983/solr/admin/collections?action=RELACENODE&soure=source-node&target=target-node
4. 集群管理API
1. 查看集群状态
http://172.16.1.228:8983/solr/admin/collections?action=CLUSTERSTATUS
6. 手工创建collection
curl 'http://192.168.1.183:8983/solr/admin/cores?action=CREATE&name=discovery_info&instanceDir=/var/solr/data/discovery_info&dataDir=/var/solr/data/discovery_info/data&collection=discovery_info&shard=discovery_info'
sudo curl 'http://192.168.1.115:8983/solr/admin/cores?action=CREATE&name=discovery_info_replica2&instanceDir=/var/solr/data/discovery_info_replica2&dataDir=/var/solr/data/discovery_info_replica2/data&collection=discovery_info&shard=discovery_info'
sudo curl 'http://192.168.1.84:8983/solr/admin/cores?action=CREATE&name=discovery_info_replica4&instanceDir=/var/solr/data/discovery_info_replica4&dataDir=/var/solr/data/discovery_info_replica4/data&collection=discovery_info&shard=discovery_info'
sudo curl 'http://192.168.1.121:8983/solr/admin/cores?action=CREATE&name=discovery_info_replica3&instanceDir=/var/solr/data/discovery_info_replica3&dataDir=/var/solr/data/discovery_info_replica3/data&collection=discovery_info&shard=discovery_info'

浙公网安备 33010602011771号