1.集中式的配置信息;
2.自动容错;
3.近实时搜索;
4.查询时自动负载均衡。
Solr版本 4.7.2
tomcat版本 6.0.41
zookeeper版本 3.4.5
下载地址:http://www.apache.org/dyn/closer.cgi/zookeeper/
实验环境:win7
Solr:2个solr服务;单个collection,2个shard
Zookeeper:单个zookeeper服务
Tomcat:2个tomcat支持分别支持两个solr
首先在D盘建立主文件夹solrcloudZK,存放所有与solrcloud相关的文件。
1.配置zookeeper
在solrcloudZK目录下建立一个zookeeper文件夹,把下载的zookeeper发布包解压到zookeeper文件夹中,并重命名为server1。
在../solrcloudZK/zookeeper/server1目录下创建一个data文件夹。
将../solrcloudZK/zookeeper/server1/conf下面的zoo_sample.cfg文件改名为zoo.cfg。(这样改名的原因还没有研究清楚)
修改zoo.cfg配置文件dataDir=/tmp/zookeeper (该路径依具体设置而定,但相对路径是一样的)
完成上面操作,便完成了zookeeper的配置。
进入..\zookeeper\server1\bin,双击zkServer.cmd便可以启动zookeeper。
2.配置solr+tomcat
在solrcloudZK中新建一个tomcat文件夹和一个solr_home文件夹
在solr_home中新建solr1和solr2文件夹
2.1 配置第一个solr
把下载的tomcat发布包解压到..\solrcloudZK\tomcat,并重命名为tomcat_solr_01。
把solr发布包下solr-4.7.2\dist\solr-4.7.2.war复制到..\solrcloudZK\tomcat\tomcat_solr_01\webapps下面
双击..\solrcloudZK\tomcat\tomcat_solr_01\bin\startup.bat启动tomcat,同时会自动解压solr-4.7.2.war
将solr-4.7.2.war解压出来的文件夹重命名为solr,并删掉压缩包war。(由于解压出来的文件夹经过重命名,如果不删掉war包,重新启动tomcat后会对war包再次解压)
在..\solrcloudZK\tomcat\tomcat_solr_01\webapps\solr\WEB-INF\lib中加入下面4个jar包
1.slf4j-log4j12-1.6.6.jar
2.Slf4j-api-1.6.6.jar
3.Commons-logging-1.1.jar(缺少这个包启动tomcat会报错,但tomcat报错还有一种情况就是该jar包版本较低)
4.log4j-1.2.16.jar (缺少这个包启动tomcat会报错,告诉你这是solr需要的jar包,若没有添加这个包,在运行localhost:8080/solr/时会报404的错误)
修改..\tomcat_solr_01\webapps\solr\WEB-INF\web.xml
修改..\tomcat_solr_01\bin\catalina.bat,在第一个JAVA_OPTS处修改
-DzkHost来指定zookeeper地址
如果Zookeeper是集群,应该写成-DzkHost=localhost:8000,localhost:8001.localhost:8002等
bootstrap_conf=true将会上传你在web.xml里面solr/home里配置的数据目录下面solr.xml里面配置的所有的solrcore到zookeeper,也就是所有的core将被集群管理
-DnumShards=2是指定我的集群分为两个shard
把solr发布包..\solr-4.7.2\example\solr下所有文件复制到..\solrcloudZK\solr_home\solr1下面
修改..\solr_home\solr1\solr.xml中
修改..\solr_home\solr1\collection1\conf\solrconfig.xml中
2.2配置第二个solr
基本方法与配置第一个solr一样
不同的地方:
修改..\tomcat_solr_02\webapps\solr\WEB-INF\web.xml中
修改..\tomcat_solr_02\bin\catalina.bat的内容和tomcat_solr_02的一样
把solr发布包..\solr-4.7.2\example\solr下所有文件复制到..\solrcloudZK\solr_home\solr2下面
修改..\solr_home\solr2\solr.xml中
修改..\solr_home\solr2\collection1\conf\solrconfig.xml中
修改..\tomcat\tomcat_solr_02\conf\server.xml中的相应端口,避免和solr1的tomcat端口冲突。
1)8005改为8105。
2)8080改为8180。
3)8443改为8143。
4)8009改为8109。
做完上面的工作就可以启动solr了,这之前要启动zookeeper和两个tomcat
在浏览器输入地址
http://localhost:8080/solr 或者 http://localhost:8180/solr
(在配置好tomcat中的文件时就可以单机访问solr,这个可以在搭建的过程中进行测试)
点击cloud(两个页面中的均可)
看到这样的界面就表示solrcloud搭建好了,至于优化的相关设置在使用的过程中再来逐一解决。