solrCloud的搭建可以有两种方式:使用solr内嵌的jetty来搭建;使用外部web容器tomcat来搭建。对于使用jett来搭建参考solr官方的手册照着做就ok了,非常简单,下面我主要讲的是如何使用tomcat来搭建solrCloud。 因最新版本solr5.0.0较4.x版本文件结构上有一些变化,网上大多是以前版本的安装,特在此记录一下。
准备工作
solr5.0.0
apache-tomcat-7.0.42
zookeeper3.4.6
1.搭建tomcat单机版solr
可参照http://www.cnblogs.com/iiot/p/4408846.html
a. 将solr-5.0.0/server/webapps/solr.war目录下的solr.war拷贝到/usr/apache-tomcat-7.0.42/webapps/下,启动tomcat解压“solr.war”
b. 在/usr/apache-tomcat-7.0.42/webapps/solr/下新建文件夹solr_home(此处solr_home目录可以根据实际情况建立)
c. 把solr解压目录中的"solr-5.0.0/server/solr"目录下的所有内容复制到solr_home中。(此处solr_home为 /usr/local/solr5.0.0/solr_cloud)
d. 在solr_home中新建自己的conf。可以从configsets中复制一个出来,修改文件夹名称
e. apache-tomcat-7.0.42-solr/webapps/solr/WEB-INF/classes目录下加入log4j.properties,打印日志记录
2.安装配置zookeeper集群
具体下载,安装,配置不详细说了,比较简单,网上一搜一大堆。只列出我的关键配置项,如下:
clientPort=2181
server.1=slave-01:12888:13888 #server.2=slave-02:12888:13888
一般来讲zookeeper集群为奇数个,最少3个,来维持其稳定性,保证一个节点宕机不影响使用,因服务器资源问题,此处暂时只用1个
3.安装配置solrcloud
我们选择/usr/local/solr5.0.0/solr_cloud目录存放Solr的库文件和配置文件,该目录下有lib和device_values两个子目录。 lib下为jar文件,包括/server/lib/ext中的和war包里的jar,device_values里为conf文件 存储索引的目录,设置为/data/solr/dev_values(可以根据实际情况修改)
将配置文件上传到ZooKeeper集群中
java -classpath .:/usr/local/solr5.0.0/solr_cloud/lib/* org.apache.solr.cloud.ZkCLI -cmd upconfig -zkhost 192.168.0.177:2181 -confdir /usr/local/solr5.0.0/solr_cloud/device_values/conf -confname dev_values java -classpath .:/usr/local/solr5.0.0/solr_cloud/lib/* org.apache.solr.cloud.ZkCLI -cmd linkconfig -collection dev_values -confname dev_values -zkhost 192.168.0.177:2181