windows下tomcat7+solr5.1+zookeeper3.4.6 伪集群SolrCloud配置

本文记录win7下使用tomcat、zookeeper、solr搭建solrCloud伪集群配置过程。

1. 准备

去各个官网下载对应软件版本。
创建伪集群工作目录,我的是E:\Solr_Workspace,后面会把tomcat、zookeeper、SOLR_HOME都放在这个目录下。

2. 配置zookeeper集群

建立3个文件夹分别存放3个zookeeper:E:\Solr_Workspace\service1,E:\Solr_Workspace\service2,E:\Solr_Workspace\service3,实际环境中这些应该在不同的机器上。
这一步将会配置3个zookeeper,先来配置第一个:
解压zookeeper到E:\Solr_Workspace\service1\zookeeper-3.4.6;
创建data、datalog文件夹:E:\Solr_Workspace\service1\data,E:\Solr_Workspace\service1\datalog,并在data文件夹下新建myid文件,用记事本编辑内容为”1”。这里的1为serverid
修改conf目录zoo_sample.cfg文件为zoo.cfg,修改配置项:

tickTime=2000
tickTime=2000
initLimit=5
syncLimit=2
dataDir=E:/Solr_Workspace/service1/data(刚才创建的目录)
dataLogDir=E:/Solr_Workspace/service1/datalog(刚才创建的目录)
clientPort=2181(服务端口)
server.1=192.168.1.200:2888:3888(1为serverid,与myid文件内容对应,等号后面分别为ip、zk通讯端口、选举端口)
server.2=192.168.1.200:2889:3889
server.3=192.168.1.200:2890:3890

配置好zk1后再配置zk2、zk3就容易多了。
拷贝2份,修改myid、和zoo.cfg。
zk2的myid写入2;zk3的myid写入3。
zk2的zoo.cfg:

tickTime=2000
initLimit=10
syncLimit=5
dataDir=E:/Solr_Workspace/service2/data
dataLogDir=E:/Solr_Workspace/service2/datalog
clientPort=2182server.1=192.168.1.200:2888:3888
server.2=192.168.1.200:2889:3889
server.3=192.168.1.200:2890:3890

zk3的zoo.cfg:

tickTime=2000
initLimit=10
syncLimit=5
dataDir=E:/Solr_Workspace/service3/data
dataLogDir=E:/Solr_Workspace/service3/datalog
clientPort=2183
server.1=192.168.1.200:2888:3888
server.2=192.168.1.200:2889:3889
server.3=192.168.1.200:2890:3890

3. 部署solr

将下载来的solr-5.1.0.zip解压。
创建E:/Solr_Workspace/solr_home1目录,复制solr-5.1.0\server\solr下所有文件到E:\Solr_Workspace\solr_home1,修改solr.xml。
把solr-5.1.0\server\webapps\solr.war放到tomcat的webapps目录下;启动tomcat自动解压得到solr文件夹。
把solr-5.1.0\server\lib\ext下所有的jar,复制到刚才得到的solr文件夹下的WEB-INF\lib目录下。
把solr-5.1.0\server\resources\log4j.properties复制到webapps\solr\WEB-INF\classes目录下。
修改webapps\solr\WEB-INF\web.xml的:

   <env-entry>
       <env-entry-name>solr/home</env-entry-name>
       <env-entry-value>E:/Solr_Workspace/solr_home1</env-entry-value>
       <env-entry-type>java.lang.String</env-entry-type>
    </env-entry>

指定solr/home为E:/Solr_Workspace/solr_home1目录。
修改E:/Solr_Workspace/solr_home1\solr.xml,修改hostPort为该tomcat的端口号。
拷贝solr-5.1.0\server\solr\configsets\basic_configs\conf目录到E:\Solr_Workspace\solr_home1\collection1中。

4. 配置tomcat

修改tomcat的server.xml,服务的口号我改为了18080。
修改tomcat的catalina.bat文件,在

setlocal

下增加这一行内容:

set “JAVA_OPTS=%JAVA_OPTS% -DzkHost=192.168.1.200:2181,192.168.1.200:2182,192.168.1.200:2183 -Dbootstrap_confdir=E:/Solr_Workspace/solr_home1/collection1/conf -Dcollection.configName=myconf”

把tomcat再复制2份,注意修改端口号。
我的3个tomcat路径分别为:
E:\Solr_Workspace\apache-tomcat-7.0.62_18080
E:\Solr_Workspace\apache-tomcat-7.0.62_28080
E:\Solr_Workspace\apache-tomcat-7.0.62_38080

把solr_home1拷贝2份:solr_home2,solr_home3
然后把tomcat2、3下的webapps下的solr文件夹按照步骤3再配置一遍,修改1、2、3有区别的地方,使之分别与tomcat1、2、3对应。(注意:solr_home2和solr_home3下的collection1目录删除,不需要)。

tomcat2和3的catalina.bat的set JAVA_OPTS分别为:

set “JAVA_OPTS=%JAVA_OPTS% -DzkHost=192.168.1.200:2181,192.168.1.200:2182,192.168.1.200:2183”

不需要指定bootstrap_confdir和collection.configName了,这是区别的地方。
注意:此处也可不修改catalina.bat,而直接在solr/home变量配置的目录下的solr.xml文件的solr>solrcloud节点下添加:

<str name="zkHost">192.168.1.200:2181,192.168.1.200:2182,192.168.1.200:2183</str>

需要把solr.xml中的端口改为容器服务端口,例如tomcat的8080

<int name="hostPort">${jetty.port:8080}</int>

5. 启动

双击每个\zookeeper-3.4.6\bin目录下的zkServer.cmd即可启动zk了。
依次启动每个tomcat。
访问http://192.168.1.200:18080/solr/#/~cloud,如果左侧有cloud节点则表示成功了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值