一、環(huán)境準(zhǔn)備
CentOS-6.4-x86_64-minimal.iso
jdk-7u51-linux-x64.rpm
zookeeper-3.4.5.tar
solr-4.6.0.zip
IK_Analyzer_2012FF_hf1.zip
服務(wù)器6臺: 192.168.56.11- SolrCloud.Shard1.Leader
192.168.56.12-SolrCloud.Shard2.Leader
192.168.56.13-SolrCloud.Shard3.Leader
192.168.56.14-SolrCloud.Shard1.Replica
192.168.56.15-SolrCloud.Shard2.Replica
192.168.56.16-SolrCloud.Shard3.Replica
二、環(huán)境安裝
1.CentOs6.4安裝
1)配制用戶
安裝完后配制用戶solrcloud 密碼: solrcloud
[root@localhost ~]# useradd solrcloud
[root@ localhost ~]# passwd solrcloud
2)修改當(dāng)前機(jī)器名稱
vi etc/sysconfig/network
HOSTNAME=SolrCloud.Shard1.Leader
3)修改當(dāng)前機(jī)器ip
vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=08:00:27:5C:8C:BD
TYPE=Ethernet
UUID=4fc0a398-f82b-49e5-8657-27bf5b260444
ONBOOT=yes
NM_CONTROLLED=yes
IPADDR=192.168.56.11
NETMASK=255.255.255.0
重啟服務(wù) service network restart
4)上傳安裝包(工具上傳WinSCP)
創(chuàng)建文件夾 mkdir /solrcloud
賦寫權(quán)限 chmod 777 /solrcloud
上傳所需安裝軟件包到/solrcloud

2.jdk 安裝
進(jìn)入jdk安裝目錄 [root@localhost install]# rpm -ivh jdk-7u51-linux-x64.rpm
3.zookeeper cluster安裝
4.solrcloud cluster安裝
1)在solrcloud下新建solrhome,并賦于讀寫權(quán)限
2)將上傳的solr.4.6.0壓縮包解壓縮,
tar -zxvf solr-4.6.0.tgz
3)將solr.4.6.0/dist/solr-4.6.0.war 復(fù)制到/solrcloud/solrhome 并重命為solr.war
cp /solrcloud/solr-4.6.0/dist/solr-4.6.0.war /solrcloud/solrhome/solr.war
4)將上傳的tomcat解壓縮
tar -zxvf apache-tomcat-6.0.29.tar.gz
5)進(jìn)入tomcat bin目錄,啟動tomcat
cd /solrcloud/apache-tomcat-6.0.29/bin 進(jìn)入bin目錄
./startup.sh 啟動tomcat 此時(shí)會在tomcat下的conf文件夾下多出一個(gè)目錄Catalina
cd /solrcloud/apache-tomcat-6.0.29/conf/Catalina/localhost
新建solr.xml文件內(nèi)容如下:
<?xml version="1.0" encoding="UTF-8" ?>
<Context docBase="/solrcloud/solrhome/solr.war" debug="0" crossContext="false" >
<Environment name="solr/home"
type="java.lang.String"
value="/solrcloud/solrhome"
override="true" />
</Context>
docBase="/solrcloud/solrhome/solr.war" 指定為solrcloud/solrhome下復(fù)制出來solr的war包
6)停tomcat 再次啟動tomcat, webapps 下邊多了解壓出來的solr文件夾
進(jìn)入solr/WEB-INF/ 下修改web.xml
<!--
<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>
-->
改為 :
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>/solrcloud/solrhome</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
7)將/solrcloud/solr-4.6.0/example/solr 文件夾下所有東西復(fù)制到 /solrcloud/solrhome
cp -r /solrcloud/solr-4.6.0/example/solr/* /solrcloud/solrhome
8)復(fù)制solr-4.6.0/example/lib/ext下所有jar包到tomcat 的lib下
cp /solrcloud/solr-4.6.0/example/lib/ext/* /solrcloud/apache-tomcat-6.0.29/lib/
復(fù)制 solr-4.6.0/example/resources/log4j.properties 到solr/WEB-INF/classes
如果沒有class先創(chuàng)建classes文件夾,并賦于寫權(quán)限
cp /solrcloud/solr-4.6.0/example/resources/log4j.properties /solrcloud/apache-tomcat- 6.0.29/webapps/solr/WEB-INF/classes/
9)中文分詞配制
解壓IK_Analyzer_2012FF_hf1.zip
上傳IKAnalyzer.cfg.xml, stopword.dic文件到/solrcloud/apache-tomcat-6.0.29/webapps/solr/WEB-INF/classes 下
上傳IKAnalyzer2012FF_u1.jar 到
/solrcloud/apache-tomcat-6.0.29/webapps/solr/WEB-INF/lib 下
10)schema.xml 加入中文分詞配制
清除所有
加入
<fieldType name="text_ik" class="solr.TextField">
<analyzer type="index" isMaxWordLength="false" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
<analyzer type="query" isMaxWordLength="true" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
</fieldType>
清除所有dynamicField 加入
<dynamicField name="*_i" type="int" indexed="true" stored="true"/>
<dynamicField name="*_s" type="string" indexed="true" stored="true" />
<dynamicField name="*_l" type="long" indexed="true" stored="true"/>
<dynamicField name="*_b" type="boolean" indexed="true" stored="true"/>
<dynamicField name="*_f" type="float" indexed="true" stored="true"/>
<dynamicField name="*_d" type="double" indexed="true" stored="true"/>
<dynamicField name="*_sa" type="text_ik" indexed="true" stored="true" />
<dynamicField name="*_dt" type="date" indexed="true" stored="true"/>
清除多余的field保留
<field name="_version_" type="long" indexed="true" stored="true"/>
<field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" />
<field name="text" type="text_ik" indexed="true" stored="false" multiValued="true"/>
清除copyField
11)啟動tomcat 訪問 http://localhost:8080/solr 如圖,至此單機(jī)版solr配制完成

<pre><code> 12)配制集群
將zookeeper和tomcat關(guān)聯(lián)
192.168.56.11臺機(jī)修改tomcat 的 bin目錄下catalina.sh文件在第二行加入
JAVA_OPTS="-Dbootstrap_confdir=/solrcloud/solrhome/collection1/conf -Dcollection.configName=myconf -DzkHost=192.168.56.11:2181,192.168.56.12:2181,192.168.56.13:2181,192.168.56.14:2181,192.168.56.15:2181,192.168.56.16:2181 -DnumShards=3"
192.168.56.12-16 , 5臺機(jī)都修改tomcat 的 bin目錄下catalina.sh文件在第二行加入
JAVA_OPTS="-DzkHost=192.168.56.11:2181,192.168.56.12:2181,192.168.56.13:2181,192.168.56.14:2181,192.168.56.15:2181,192.168.56.16:2181"
至此集群配制完畢
創(chuàng)建集合
http://192.168.56.11:8080/solr/admin/collections?action=CREATE&name=guangzhou&numShards=3&replicationFactor=3
任何一個(gè)ip均可訪問
http://192.168.56.11:8080/solr/#/~cloud

</code></pre>