1.必要的软件准备
2.解压tomcat然后复制四份,形成四个模拟节点,分别重命名为apache-tomcat-8983......,如下图,以下文中均成为这个文件夹为8983,8984,8985,8986
3.在8983-8986下面都要新建文件夹solrbase,解压solr-4.7.0,将solr-4.7.0\solr-4.7.0\example下面的solr这个文件夹拷贝到solrbase下面。然后将solr-4.7.0\dist下面的solr-4.7.0.war包重命名为solr.war分别复制到8983\webapps,一次复制到8984,8985,8986对应的webapps下面。
4.这个时候,就可以启动8983/bin/start.bat文件,让tomcat启动起来,再去在8983\conf\Catalina\localhost下面新建solr.xml文件,文件内容为:
<?xml version="1.0" encoding="UTF-8" ?> <Context docBase="F:/solrCloud/apache-tomcat-8983/webapps/solr" debug="0" crossContext="true" > <Environment name="solr/home" type="java.lang.String" value="F:/solrCloud\apache-tomcat-8983/solrbase/solr" override="true" /> </Context>
5.重复上面的操作,分别进行8984,8985,8986的设置。为了tomcat的server的启动端口不会有被占用的情况,需要在8084和8985,8986三个目录conf下面的server.xml文件修改端口。在8983文件下面,修改 <Connector port="8983" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> port就行。8984下面port为8984,其他的所有端口全部加1就行。
5.解压zookeeper-3.4.5.tar.gz到solrCloud\zookeeper-3.4.5,然后再目录下新建temp作为临时数据文件夹。重命名solrCloud\zookeeper-3.4.5\conf下zoo_sample.cfg为zoo.cfg,修改其中的dataDir为你刚刚新建的temp文件夹,启动solrCloud/zookeeper-3.4.5/bin/zkServer.cmd.
6.制定8983为leader节点,需要在8983目录下的bin/catalina.bat中的第二行添加:
set JAVA_OPTS=-Dbootstrap_confdir=F:\solrCloud\apache-tomcat-8983\solrbase\solr\collection1\conf -Dcollection.configName=clusterconf -DzkRun -DzkHost=localhost:9081 -DnumShards=2
注意:-Dbootstrap_confdir的值是你的solr/home下面的collection1\conf文件
在8984,8985,8986下面bin/catalina.bat文件第二行添加:set JAVA_OPTS=-DzkRun -DzkHost=localhost:9081
7.由于solr4.3以后的日志发生变化了,需要将
这几个jar文件复制到F:\solrCloud\apache-tomcat-8983\webapps\solr\WEB-INF\lib下去,同理8984,8985,8986一样要这么做。
7.在8983\webapps\solr\WEB-INF下面新建文件夹classes,将solr-4.7.0\example\resources/log4j.properties文件拷贝刚刚建立的classes文件下,并且修改第十六行出log4j.appender.file.File=../solr_logs/solr.log 日志路径是自己制定的。