tomcat下搭建SolrCloud

solr版本:4.5.1java

当前我使用三台服务器搭建集群分别是192.168.0.1八、192.168.0.1九、192.168.0.20,其中18为主服务器,1九、20为从服务器,而且在20服务器安装zookeepernode

1、在tomcat7中部署solr4apache

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

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

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

四、mkdir /home/solr (在home目录下面建立solr文件夹,个人tomcat也是安装在home目录下)服务器

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

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

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

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

我比较倾向于第一种

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

八、建立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>

九、启动tomcat

十、输入http://127.0.0.1:8080/solr 若是能够正常看到solr 的目录。则表示正确部署。在firfox下打开此目录solr4的js对IE的支持很差。


2、安装zookeeper

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

十二、tar -zxvf zookeeper-3.4.5.tar   解压zookeeper

1三、mkdir /home/zookeeper/data  建立zookeeper数据存放目录

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

1五、 vim zoo.cfg  修改zookeeper配置文件 内容以下

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

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

      sudo zkServer.sh start

3、配置solr集群

1七、先配置主服务器192.168.1.18

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

Solr4.3+zookeeper+tomcat 集群部署 - 星期八 - Aprils

 

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索引库中同步字段

1八、配置从服务器 19 和20

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

JAVA_OPTS="-DzkHost=10.103.14.20:2181"

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

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

Solr4.3+zookeeper+tomcat 集群部署 - 星期八 - Aprils

 


20、写入后使用界面进行数据查询获得如下数听说明数据正常

Solr4.3+zookeeper+tomcat 集群部署高可用 - 星期八 - Aprils

补充点:

修改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)

相关文章
相关标签/搜索