tomcat下搭建SolrCloud

jopen 10年前發布 | 27K 次閱讀 SolrCloud Solr 搜索引擎

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

 

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

 


20、寫入后使用界面進行數據查詢得到以下數據說明數據正常

tomcat下搭建SolrCloud

補充點:

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


來自:http://my.oschina.net/u/1254322/blog/340172

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!