更新solrcloud+zookeeper的配置文件,要reload collection

1、用的lib下的solr-core-4.3.1jar中的ZkCLI工具,命令在solr(web发布的)同级目录下运行。

(1)upconfig 更新配置文件命令

java -classpath ./solr/WEB-INF/lib/*  org.apache.solr.cloud.ZkCLI       -cmd upconfig       -zkhost zk1:2181,zk2:2181,zk3:2181         -confdir  ./updateConf       -confname myConf

其中,updateConf要更新的配置文件的父目录,myConf是集群上的配置文件的父目录

(2)putfile上传单个文件命令

java -classpath ./solr/WEB-INF/lib/*  org.apache.solr.cloud.ZkCLI         -zkhost  zk1:2181,zk2:2181,zk3:2181          -cmd putfile           /conf/schema.prefixTips.xml               example-shard1/solr/conf/schema.prefixTips.xml
其中,前者参数是zk集群上的存储路径,后者参数是要上传文件的本地路径;如果zk集群中该文件存在则会报错,不能覆盖。

2、更新zookeeper集群的配置文件后,需要用命令reload,否则solr服务器实例还是用的原来那一套配置文件。

The RELOAD action is used when you have changed a configuration in ZooKeeper.

/admin/collections?action=RELOAD&name= name

http://10.0.1.6:9090/solr/admin/collections?action=RELOAD&name=newCollection

返回结果:

   "responseHeader" >
     < int  name= "status" > 0 int >
     < int  name= "QTime" > 1551 int >
  
   "success" >
     "10.0.1.6:9090_solr" >
       "responseHeader" >
         < int  name= "status" > 0 int >
         < int  name= "QTime" > 761 int >
      
    
     "10.0.1.4:9090_solr" >
       "responseHeader" >
         < int  name= "status" > 0 int >
         < int  name= "QTime" > 1527 int >
      
    
  



你可能感兴趣的:(更新solrcloud+zookeeper的配置文件,要reload collection)