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'                                                                                   

posted @ 2022-06-21 13:25  奋斗史  阅读(221)  评论(0)    收藏  举报