1、環境準備:html
Solr版本:4.7.0java
下載地址:http://www.apache.org/dyn/closer.cgi/lucene/solr/4.7.0web
Tomcat版本:6.0.39apache
下載地址:http://tomcat.apache.org/download-60.cgibootstrap
ZooKeeer版本:3.4.6api
下載地址:http://www.apache.org/dyn/closer.cgi/zookeeper/瀏覽器
2、配置tomcat
實驗環境:app
Windows XP SP三、JDK 1.6.0_10-rc2dom
環境規劃:
Solr:2個solr服務;單collection,2個shard。每一個shard一個reception。
ZooKeeper:單個ZooKeeper服務。
一、 配置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。
二、 配置solr+tomcat
在D盤新建一個tomcat文件夾。
在D盤新建一個solr_home文件夾。
在D:\solr_home新建solr一、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
<!--
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>/put/your/solr/home/here</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
-->
改成:
[html] view plaincopy
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>D:\\solr_home\\solr1</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
修改D:\tomcat\tomcat6.0.39_solr_01\bin\catalina.bat,在第二行加入以下這段配置:
[html] view plaincopy
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
<int name="hostPort">${jetty.port:8983}</int>
改成:
[html] view plaincopy
<int name="hostPort">${jetty.port:8080}</int>
修改D:\solr_home\solr1\collection1\conf\solrconfig.xml中
[html] view plaincopy
<lib dir="../../../contrib/extraction/lib" regex=".*\.jar" />
<lib dir="../../../dist/" regex="solr-cell-\d.*\.jar" />
<lib dir="../../../contrib/clustering/lib/" regex=".*\.jar" />
<lib dir="../../../dist/" regex="solr-clustering-\d.*\.jar" />
<lib dir="../../../contrib/langid/lib/" regex=".*\.jar" />
<lib dir="../../../dist/" regex="solr-langid-\d.*\.jar" />
<lib dir="../../../contrib/velocity/lib" regex=".*\.jar" />
<lib dir="../../../dist/" regex="solr-velocity-\d.*\.jar" />
改成
[html] view plaincopy
<!--
<lib dir="../../../contrib/extraction/lib" regex=".*\.jar" />
<lib dir="../../../dist/" regex="solr-cell-\d.*\.jar" />
<lib dir="../../../contrib/clustering/lib/" regex=".*\.jar" />
<lib dir="../../../dist/" regex="solr-clustering-\d.*\.jar" />
<lib dir="../../../contrib/langid/lib/" regex=".*\.jar" />
<lib dir="../../../dist/" regex="solr-langid-\d.*\.jar" />
<lib dir="../../../contrib/velocity/lib" regex=".*\.jar" />
<lib dir="../../../dist/" regex="solr-velocity-\d.*\.jar" />
-->
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
<!--
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>/put/your/solr/home/here</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
-->
改成:
[html] view plaincopy
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>D:\\solr_home\\solr2</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
修改D:\tomcat\tomcat6.0.39_solr_02\bin\catalina.bat,在第二行加入以下這段配置:
[html] view plaincopy
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
<int name="hostPort">${jetty.port:8983}</int>
改成:
[html] view plaincopy
<int name="hostPort">${jetty.port:8180}</int>
修改D:\solr_home\solr1\collection1\conf\solrconfig.xml中
[html] view plaincopy
<lib dir="../../../contrib/extraction/lib" regex=".*\.jar" />
<lib dir="../../../dist/" regex="solr-cell-\d.*\.jar" />
<lib dir="../../../contrib/clustering/lib/" regex=".*\.jar" />
<lib dir="../../../dist/" regex="solr-clustering-\d.*\.jar" />
<lib dir="../../../contrib/langid/lib/" regex=".*\.jar" />
<lib dir="../../../dist/" regex="solr-langid-\d.*\.jar" />
<lib dir="../../../contrib/velocity/lib" regex=".*\.jar" />
<lib dir="../../../dist/" regex="solr-velocity-\d.*\.jar" />
改成
[html] view plaincopy
<!--
<lib dir="../../../contrib/extraction/lib" regex=".*\.jar" />
<lib dir="../../../dist/" regex="solr-cell-\d.*\.jar" />
<lib dir="../../../contrib/clustering/lib/" regex=".*\.jar" />
<lib dir="../../../dist/" regex="solr-clustering-\d.*\.jar" />
<lib dir="../../../contrib/langid/lib/" regex=".*\.jar" />
<lib dir="../../../dist/" regex="solr-langid-\d.*\.jar" />
<lib dir="../../../contrib/velocity/lib" regex=".*\.jar" />
<lib dir="../../../dist/" regex="solr-velocity-\d.*\.jar" />
-->
修改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