Zookeeper-solrCloud-tomcat整合部署

来源:互联网 发布:淘宝客服英文怎么说 编辑:程序博客网 时间:2024/06/04 19:06

Zookeeper-solrCloud-tomcat整合部署

1.       准备工作

1.      下载solr(本文使用的是solr4.3.1): http://www.apache.org/dyn/closer.cgi/lucene/solr

2.      下载tomcat(本文apache-tomcat-8.0.0-RC1): http://tomcat.apache.org/download-80.cgi

3.      下载安装jdk(1.5以上版本),并配置环境变量(必须配置JAVA_HOME)

http://www.oracle.com/technetwork/java/javase/downloads/index.html

4.      关于solrCloud的更多解释请参阅:http://wiki.apache.org/solr/SolrCloud/

2.       配置步骤

1.      在F盘新建solrCloud文件夹,将下载的solr和tomcat复制到这个文件夹中

2.      复制4个tomcat,分别命名为:apache-tomcat-8.0.0-8081,apache-tomcat-8.0.0-8082,apache-tomcat-8.0.0-8083,apache-tomcat-8.0.0-8084,如图1(这里用4个tomcat,使用不同的端口号,模拟4台服务器)


图1

3.      打开F:\solrCloud\apache-tomcat-8.0.0-8081\conf\server.xml文件,将文件中所有的端口号都加1;以同样的方式修改其他三个tomcat,分别对8082,8083,8084的所有端口加2,加3,加4

4.      将F:\solrCloud\solr-4.3.1\dist目录下的solr-4.3.1.war文件分别复制到4个tomcat的webapps文件夹内,启动这4个tomcat,然后再关闭这4个tomcat;此时每个tomcat的webapps文件夹下会自动生成solr文件夹,现在将webapps文件夹下的solr.war文件删除即可

5.      在上文中的4个tomcat下的solr文件夹下,新建文件夹“solr_home”;将F:\solrCloud\solr-4.3.1\example\solr目录下的所有文件复制到每个tomcat下的solr_home文件夹内

6.      在F:\solrCloud\apache-tomcat-8.0.0-8081\webapps\solr\WEB-INF\web.xml中添加:

<env-entry>

        <env-entry-name>solr/home</env-entry-name>

<env-entry-value>

F:\solrCloud\apache-tomcat-8.0.0-8081\webapps\solr\solr_home

</env-entry-value>

<env-entry-type>java.lang.String</env-entry-type>

</env-entry>

在F:\solrCloud\apache-tomcat-8.0.0-8082\webapps\solr\WEB-INF\web.xml中添加:

<env-entry>

        <env-entry-name>solr/home</env-entry-name>

<env-entry-value>

F:\solrCloud\apache-tomcat-8.0.0-8082\webapps\solr\solr_home

</env-entry-value>

<env-entry-type>java.lang.String</env-entry-type>

</env-entry>

在F:\solrCloud\apache-tomcat-8.0.0-8083\webapps\solr\WEB-INF\web.xml中添加:

<env-entry>

        <env-entry-name>solr/home</env-entry-name>

<env-entry-value>

F:\solrCloud\apache-tomcat-8.0.0-8083\webapps\solr\solr_home

</env-entry-value>

<env-entry-type>java.lang.String</env-entry-type>

</env-entry>

在F:\solrCloud\apache-tomcat-8.0.0-8084\webapps\solr\WEB-INF\web.xml中添加:

<env-entry>

        <env-entry-name>solr/home</env-entry-name>

<env-entry-value>

F:\solrCloud\apache-tomcat-8.0.0-8084\webapps\solr\solr_home

</env-entry-value>

<env-entry-type>java.lang.String</env-entry-type>

</env-entry>

注:如果是solr4.2以前的版本,到这里已经配置完成了,由于solr4.3的日志模块与以前的版本不同,所以对于solr4.3还需要配置

7.      将F:\solrCloud\solr-4.3.1\example\lib\ext目录下的5个jar包,分别复制到:

F:\solrCloud\apache-tomcat-8.0.0-8081\webapps\solr\WEB-INF\lib

F:\solrCloud\apache-tomcat-8.0.0-8082\webapps\solr\WEB-INF\lib

F:\solrCloud\apache-tomcat-8.0.0-8083\webapps\solr\WEB-INF\lib

F:\solrCloud\apache-tomcat-8.0.0-8084\webapps\solr\WEB-INF\lib

目录下,分别在

F:\solrCloud\apache-tomcat-8.0.0-8081\webapps\solr\WEB-INF

F:\solrCloud\apache-tomcat-8.0.0-8082\webapps\solr\WEB-INF

F:\solrCloud\apache-tomcat-8.0.0-8083\webapps\solr\WEB-INF

F:\solrCloud\apache-tomcat-8.0.0-8084\webapps\solr\WEB-INF

目录下新建classes文件夹,将

F:\solrCloud\solr-4.3.1\example\resources目录下的log4j.properties文件分别复制到刚才创建的4个classes文件夹中;在这里可以修改一下日志保存路径:打开log4j.properties文件在第15行可以修改路径,如图2所示,是将solr的相关日志保存到tomcat根目录下的solr_logs文件夹下的solr.log文件中


图2

8.      启动这4个tomcat,在浏览器中分别访问:

http://localhost:8081/solr

http://localhost:8082/solr

http://localhost:8083/solr

http://localhost:8084/solr

会出现如图3所示界面,至此说明单个的solr和tomcat的整合已经完成


图3

9.      接下来就是要把配置好的tomcat注册到zookeeper上,形成solrCloud;由于这里使用的tomcat是绿色版本,所以要先配置一下CATALINA_HOME,分别用记事本打开

F:\solrCloud\apache-tomcat-8.0.0-8081\bin\catalina.bat

F:\solrCloud\apache-tomcat-8.0.0-8082\bin\catalina.bat

F:\solrCloud\apache-tomcat-8.0.0-8083\bin\catalina.bat

F:\solrCloud\apache-tomcat-8.0.0-8084\bin\catalina.bat

分别在文件的第一行添加如下代码:

set CATALINA_HOME=F:\solrCloud\apache-tomcat-8.0.0-8081

set CATALINA_HOME=F:\solrCloud\apache-tomcat-8.0.0-8082

set CATALINA_HOME=F:\solrCloud\apache-tomcat-8.0.0-8083

set CATALINA_HOME=F:\solrCloud\apache-tomcat-8.0.0-8084

10.  打开F:\solrCloud\apache-tomcat-8.0.0-8081\webapps\solr\solr_home\solr.xml文件,修改倒数第4行,hostPort="${jetty.port:8983}"改为 hostPort="8081",其他3个tomcat的solr.xml采用同样方式修改,主机端口号分别为:8082,8083,8084

(这里通过修改defaultCoreName="video"和<corename="video" instanceDir="collection1" />,可以修改core的名字,由于这里是针对视频的搜索,本文的name="video")

11.  用记事本打开F:\solrCloud\apache-tomcat-8.0.0-8081\bin\catalina.bat文件,在第2行输入如下代码:

set JAVA_OPTS=-Dbootstrap_confdir=../webapps/solr/solr_home/collection1/conf-Dcollection.configName=clusterconf -DzkRun -DzkHost=localhost:9081-DnumShards=2

(这里-DnumShards=2,表示分两个片)

在其他3个tomcat的catalina.bat文件中的第2行分别输入:

set JAVA_OPTS=-DzkRun -DzkHost=localhost:9081

注:这里的端口号是solr内嵌的zookeeper的端口号,内嵌的zookeeper的端口号默认是tomcat的端口号+1000,这里zookeeper运行在端口号为8081的tomcat上,所以要将其他三个tomcat都注册到第一个tomcat的zookeeper上

12.  在浏览器中访http://localhost:8081/solr/#/~cloud,可以看到如图4的界面,全部配置完成。


图4

 

补充:

1.        如果修改配置以后,记得要删除每个tomcat,

F:\solrCloud\apache-tomcat-8.0.0-8083\webapps\solr\solr_home路径下的zoo_data文件夹

2.        schema.xml和solrconfig.xml文件所在位置

F:\solrCloud\apache-tomcat-8.0.0-8081\webapps\solr\solr_home\collection1\conf

根据需求配置schema.xml文件时,必须保证所有的tomcat下的配置一样

3.        关于IK分词器的配置,参考:http://blog.csdn.net/wzg_911/article/details/10456199

 


原创粉丝点击