solrCloud+tomcat+zookeeper配置

一、環境準備:

Solr版本:4.7.0

下載地址:http://www.apache.org/dyn/closer.cgi/lucene/solr/4.7.0

Tomcat版本:6.0.39

下載地址:http://tomcat.apache.org/download-60.cgi

ZooKeeer版本:3.4.6

下載地址:http://www.apache.org/dyn/closer.cgi/zookeeper/

二、配置

實驗環境:

   Windows XP SP3、JDK 1.6.0_10-rc2

環境規劃:

Solr:2個solr服務;單collection,2個shard。每個shard一個reception。

ZooKeeper:單個ZooKeeper服務。

1、  配置ZooKeeper

在D盤根目錄建立一個ZooKeeper文件夾。

把下載的ZooKeeper發佈包解壓D:\ZooKeeper,重命名爲server1。

在D:\ZooKeeper\server1目錄下新建一個data文件夾。

D:\ZooKeeper\server1\conf下面的zoo_sample.cfg文件改名爲zoo.cfg。

修改zoo.cfg配置文件dataDir=/tmp/zookeeper改爲dataDir=D:\\ZooKeeper\\server1\\data。

完成上面操作,便完成了ZooKeeper的配置了。

進入D:\ZooKeeper\server1\bin,雙擊zkServer.cmd便可以啓動ZooKeeper。

2、  配置solr+tomcat

在D盤新建一個tomcat文件夾。

在D盤新建一個solr_home文件夾。

在D:\solr_home新建solr1、solr2文件夾。

2.1配置第一個solr

把下載的tomcat發佈包解壓到D:\tomcat,重命名爲tomcat6.0.39_solr_01。

把solr發佈包下的solr-4.7.0\dist\solr-4.7.0.war

複製到D:\tomcat\tomcat6.0.39_solr_01\webapps下面。

把D:\tomcat\tomcat6.0.39_solr_01\webapps\solr-4.7.0.war解壓到

D:\tomcat\tomcat6.0.39_solr_01\webapps下面,重命名solr-4.7.0爲solr。

刪除D:\tomcat\tomcat6.0.39_solr_01\webapps\solr-4.7.0.war。

在D:\tomcat\tomcat6.0.39_solr_01\webapps\solr\WEB-INF\lib中加入下面4個jar包。

1)  commons-logging-1.1.jar

2)  slf4j-log4j12-1.6.6.jar

3)  slf4j-api-1.6.6.jar

4)  dom4j-1.6.1.jar

修改D:\tomcat\tomcat6.0.39_solr_01\webapps\solr\WEB-INF\web.xml中

[html] view plaincopy在CODE上查看代碼片派生到我的代碼片

  1. <!--  

  2.   <env-entry>  

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

  4.      <env-entry-value>/put/your/solr/home/here</env-entry-value>  

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

  6.   </env-entry>  

  7.  -->  

改爲:

[html] view plaincopy在CODE上查看代碼片派生到我的代碼片

  1. <env-entry>  

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

  3.    <env-entry-value>D:\\solr_home\\solr1</env-entry-value>  

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

  5. </env-entry>  

修改D:\tomcat\tomcat6.0.39_solr_01\bin\catalina.bat,在第二行加入如下這段配置:

[html] view plaincopy在CODE上查看代碼片派生到我的代碼片

  1. set "JAVA_OPTS=-server -Xmx1024m -Xms256m -DzkHost=127.0.0.1:2181 -Dbootstrap_conf=true  -DnumShards=2"  

-DzkHost來指定zookeeper地址

zookeeper是集羣,應該寫成 -DzkHost=localhost:9983,localhost:8574,localhost:9900

bootstrap_conf=true將會上傳你在web.xml裏面solr/home裏配置的數據目錄下面solr.xml裏面配置的所有的solrcore到zookeeper,也就是所有的core將被集羣管理

-DnumShards=2是指定我的集羣分爲兩個shard

把solr發佈包\solr-4.7.0\example\solr下所有文件複製到D:\solr_home\solr1下面。

修改D:\solr_home\solr1\solr.xml中

[html] view plaincopy在CODE上查看代碼片派生到我的代碼片

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

改爲:

[html] view plaincopy在CODE上查看代碼片派生到我的代碼片

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

修改D:\solr_home\solr1\collection1\conf\solrconfig.xml中

[html] view plaincopy在CODE上查看代碼片派生到我的代碼片

  1. <lib dir="../../../contrib/extraction/lib" regex=".*\.jar" />  

  2. <lib dir="../../../dist/" regex="solr-cell-\d.*\.jar" />  

  3.   

  4. <lib dir="../../../contrib/clustering/lib/" regex=".*\.jar" />  

  5. <lib dir="../../../dist/" regex="solr-clustering-\d.*\.jar" />  

  6.   

  7. <lib dir="../../../contrib/langid/lib/" regex=".*\.jar" />  

  8. <lib dir="../../../dist/" regex="solr-langid-\d.*\.jar" />  

  9.   

  10. <lib dir="../../../contrib/velocity/lib" regex=".*\.jar" />  

  11. <lib dir="../../../dist/" regex="solr-velocity-\d.*\.jar" />  

改爲

[html] view plaincopy在CODE上查看代碼片派生到我的代碼片

  1.   <!--  

  2.     <lib dir="../../../contrib/extraction/lib" regex=".*\.jar" />  

  3. <lib dir="../../../dist/" regex="solr-cell-\d.*\.jar" />  

  4.   

  5. <lib dir="../../../contrib/clustering/lib/" regex=".*\.jar" />  

  6. <lib dir="../../../dist/" regex="solr-clustering-\d.*\.jar" />  

  7.   

  8. <lib dir="../../../contrib/langid/lib/" regex=".*\.jar" />  

  9. <lib dir="../../../dist/" regex="solr-langid-\d.*\.jar" />  

  10.   

  11. <lib dir="../../../contrib/velocity/lib" regex=".*\.jar" />  

  12. <lib dir="../../../dist/" regex="solr-velocity-\d.*\.jar" />  

  13.   -->  

2.2配置第二個solr

把下載的tomcat發佈包解壓到D:\tomcat,重命名爲tomcat6.0.39_solr_02。

把solr發佈包下的solr-4.7.0\dist\solr-4.7.0.war

複製到D:\tomcat\tomcat6.0.39_solr_02\webapps下面。

把D:\tomcat\tomcat6.0.39_solr_02\webapps\solr-4.7.0.war解壓到

D:\tomcat\tomcat6.0.39_solr_02\webapps下面,重命名solr-4.7.0爲solr。

刪除D:\tomcat\tomcat6.0.39_solr_02\webapps\solr-4.7.0.war。

在D:\tomcat\tomcat6.0.39_solr_02\webapps\solr\WEB-INF\lib中加入下面4個jar包。

1)  commons-logging-1.1.jar

2)  slf4j-log4j12-1.6.6.jar

3)  slf4j-api-1.6.6.jar

4)  dom4j-1.6.1.jar

修改D:\tomcat\tomcat6.0.39_solr_02\webapps\solr\WEB-INF\web.xml中

[html] view plaincopy在CODE上查看代碼片派生到我的代碼片

  1. <!--  

  2.   <env-entry>  

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

  4.      <env-entry-value>/put/your/solr/home/here</env-entry-value>  

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

  6.   </env-entry>  

  7.  -->  

改爲:

[html] view plaincopy在CODE上查看代碼片派生到我的代碼片

  1. <env-entry>  

  2.   

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

  4.   

  5.    <env-entry-value>D:\\solr_home\\solr2</env-entry-value>  

  6.   

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

  8.  </env-entry>  

修改D:\tomcat\tomcat6.0.39_solr_02\bin\catalina.bat,在第二行加入如下這段配置:

[html] view plaincopy在CODE上查看代碼片派生到我的代碼片

  1. set "JAVA_OPTS=-server -Xmx1024m -Xms256m  -DzkHost=127.0.0.1:2181  -DnumShards=2"  


把solr發佈包\solr-4.7.0\example\solr下所有文件複製到D:\solr_home\solr2下面。

修改D:\solr_home\solr1\solr.xml中

[html] view plaincopy在CODE上查看代碼片派生到我的代碼片

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

改爲:

[html] view plaincopy在CODE上查看代碼片派生到我的代碼片

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

修改D:\solr_home\solr1\collection1\conf\solrconfig.xml中

[html] view plaincopy在CODE上查看代碼片派生到我的代碼片

  1.   <lib dir="../../../contrib/extraction/lib" regex=".*\.jar" />  

  2. <lib dir="../../../dist/" regex="solr-cell-\d.*\.jar" />  

  3.   

  4. <lib dir="../../../contrib/clustering/lib/" regex=".*\.jar" />  

  5. <lib dir="../../../dist/" regex="solr-clustering-\d.*\.jar" />  

  6.   

  7. <lib dir="../../../contrib/langid/lib/" regex=".*\.jar" />  

  8. <lib dir="../../../dist/" regex="solr-langid-\d.*\.jar" />  

  9.   

  10. <lib dir="../../../contrib/velocity/lib" regex=".*\.jar" />  

  11. <lib dir="../../../dist/" regex="solr-velocity-\d.*\.jar" />  


改爲

[html] view plaincopy在CODE上查看代碼片派生到我的代碼片

  1. <!--  

  2.       <lib dir="../../../contrib/extraction/lib" regex=".*\.jar" />  

  3.   <lib dir="../../../dist/" regex="solr-cell-\d.*\.jar" />  

  4.   

  5.   <lib dir="../../../contrib/clustering/lib/" regex=".*\.jar" />  

  6.   <lib dir="../../../dist/" regex="solr-clustering-\d.*\.jar" />  

  7.   

  8.   <lib dir="../../../contrib/langid/lib/" regex=".*\.jar" />  

  9.   <lib dir="../../../dist/" regex="solr-langid-\d.*\.jar" />  

  10.   

  11.   <lib dir="../../../contrib/velocity/lib" regex=".*\.jar" />  

  12.   <lib dir="../../../dist/" regex="solr-velocity-\d.*\.jar" />  

  13.     -->  

修改D:\tomcat\tomcat6.0.39_solr_02\conf\server.xml各端口,避免和solr1的tomcat端口衝突。

1)8005改爲8105。

2)8080改爲8180。

3)8443改爲8583。

4)8009改爲8109。

 

啓動2個tomcat,在瀏覽器輸入地址

http://localhost:8080/solr/#/~cloud

或者

http://localhost:8180/solr/#/~cloud

便可以看到如下圖solr集羣服務了。



參考文獻:

http://my.oschina.net/132722/blog/142096

http://blog.csdn.net/shirdrn/article/details/9718387

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章