tomcat下搭建SolrCloud

solr版本:4.5.1

当前我使用三台服务器搭建集群分别是192.168.0.18、192.168.0.19、192.168.0.20,其中18为主服务器,19、20为从服务器,并且在20服务器安装zookeeper

一、在tomcat7中部署solr4

1、首先从官网下载solr4.5.1版本到三台服务器

2、tar -zxvf solr-4.5.1.tgz (解压solr)

3、cd solr-4.3.1(进入solr文件夹)

4、mkdir /home/solr (在home目录下面创建solr文件夹,我的tomcat也是安装在home目录下)

5、复制solr-4.5.1/example/solr 目录下的collection1目录和solr.xmlzoo.cfg到/home/solr目录下

6、到这里,需要用到solr的war包。在solr-4.5.1/dist/ 下有 solr-4.5.1.war包将其更改名称为solr.war,接下来两种方法可以任选其一,因为solr4中将日志的jar包单独分离出来放到了solr-4.5.1/example/lib/ext目录下。所以在部署的时候需要将这些jar包加进去,加进去的方法有两种:

        (a)将solr.war更改后缀名为solr.zip,解压后名称为solr将solr-4.5.1/example/lib/ext下的五个日志包放到solr/WEB-INF/lib目录下,重新打包成war文件。

        (b)不用更改solr.war,直接将五个日志包放到tomcat的lib目录下

我比较倾向于第一种

7、将solr.war复制到 /home/solr目录

8、创建tomcat/conf/Catalina/localhost/solr.xml 文件,文件内容(如果目录没有也可以创建):

   <Context docBase="/home/solr/solr.war" debug="0" crossContext="true" >
          <Environment name="solr/home" type="java.lang.String" value="/home/solr" override="true" />
   </Context>

9、启动tomcat

10、输入http://127.0.0.1:8080/solr 如果可以正常看到solr 的目录。则表示正确部署。在firfox下打开此目录solr4的js对IE的支持不好。


二、安装zookeeper

11、官网下载zookeeper http://www.apache.org/dyn/closer.cgi/zookeeper/  本人使用 zookeeper-3.4.5 将其安装在20服务器上

12、tar -zxvf zookeeper-3.4.5.tar   解压zookeeper

13、mkdir /home/zookeeper/data  创建zookeeper数据存放目录

14、cd /home/zookeeper-3.4.5/conf   进入解压后的zookeeper目录

15、 vim zoo.cfg  修改zookeeper配置文件 内容如下

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/home/zookeeper/data (此目录用于指定zookeeper数据存放目录。就是刚刚创建的那个目录)
clientPort=2181

16、修改完成后启动zookeeper 进入bin目录

      sudo zkServer.sh start

三、配置solr集群

17、先配置主服务器192.168.1.18

vim /home/tomcat/bin/catalina.sh   在图片所示位置加入以下代码

tomcat下搭建SolrCloud_第1张图片

 

JAVA_OPTS="$JAVA_OPTS -Dbootstrap_confdir=/home/www/sfbest/solr/collection1/conf -Dcollection.configName=myconf -DzkHost=192.168.1.20:2181 -DnumShards=3"

注:其中DzkHost是用来指定zookeeper服务器的ip和端口。Dnumshareds用来指定当前集群中分片数  confdir目录指定所有的索引库都从collection1索引库中同步字段

18、配置从服务器 19 和20

vim /home/tomcat/bin/catalina.sh 在和上图同样的位置加入

JAVA_OPTS="-DzkHost=10.103.14.20:2181"

19、保存后,依次启动tomcat服务器 在firfox中输入网址

http://192.168.1.18:8080/solr 看到以下界面即说明集群搭建成功,此图片中我添加了多个索引库。所以显示多个。正常情况下显示一个collection1即表示正常

tomcat下搭建SolrCloud_第2张图片

 


20、写入后使用界面进行数据查询得到以下数据说明数据正常
tomcat下搭建SolrCloud_第3张图片

补充点:

修改solr.xml

<solr>
  <solrcloud>
    <str name="host">${host:}</str>
     <int name="hostPort">7080</int>
    <str name="hostContext">${hostContext:solr}</str>
    <int name="zkClientTimeout">${zkClientTimeout:15000}</int>
    <bool name="genericCoreNodeNames">${genericCoreNodeNames:true}</bool>
<str name="zkHost">hadoop.datanode3.com:4181</str>
  </solrcloud>
  <shardHandlerFactory name="shardHandlerFactory"
    class="HttpShardHandlerFactory">
    <int name="socketTimeout">${socketTimeout:0}</int>
    <int name="connTimeout">${connTimeout:0}</int>
  </shardHandlerFactory>
</solr>


官网参考:

http://wiki.apache.org/solr/SolrCloudTomcat(在tomcat下搭建solr集群)

http://wiki.apache.org/solr/SolrTomcat(在tomcat下搭建solr)

你可能感兴趣的:(Solr)