搭建solr集羣整個架構:
前提:
(1)zookeeper集羣
(2)最好作系統間拷貝免密碼(頻繁複制東西輸密碼太麻煩)
(3)軟件solr.*.zip zookerper.*.tar.gz ik.*.zip tomcat.*.tar.gz(tomcat7以上版本)
搭建思想:
3臺服務器:
192.168.20.101
192.168.20.102
192.168.20.103
目錄結構:
先搭建好一臺192.168.20.101而後scp到102和103整個文件夾
搭建101:
1.把解壓的solr.zip中war包複製到tomcat的webapps下
2.#jar -xvf solr.war
解壓war包
3.解壓IK.zip,複製裏面jar包到webapps/solr/WEB-INF/lib下,配置文件到
webapps/solr/WEB-INF/classes下
4.修改
webapps/solr/WEB-INF/web.xml,放開註釋,配置第二行的solrhome的位置(絕對路徑)
5.建solrhome1和solrhome2(名字隨意),複製solr.zip解壓目錄(solr-4.10.3/example/solr)
下的全部文件到4步驟的兩個solrhome中.(
solr-4.10.3/example/solr這是示例中的solr家的標準目錄
)
6.進入solrhome1/collection1/conf,修改schema.xml,在最後加入以下內容,引用IK分詞器.
7.啓動tomcat看分詞器和solr單機版能夠用了嗎.訪問http://ip:port/solr
8.若是上一步好使了,停tomcat開始配置集羣,修改solrhome1/solr.xml把端口改爲和tomcat端口一致.
9.把solr家solrhome1/collection1下剛產生的data目錄刪掉,上傳配置文件信息給zookeeper集羣
#sh /opt/solr/solr-4.10.3/example/scripts/cloud-scripts/
zkcli.sh -zkhost
192.168.20.101:2181,192.168.20.102:2181,192.168.20.103:2181 -cmd upconfig -confdir
/opt/solr/solrhome1/collection1/conf -confname myconf
-solrhome1 /opt/solr/solrhome1
上傳完了用zookeeper客戶端鏈接zookeeper集羣看這些內容是否上傳上去
進入zookeeper集羣安裝目錄 #./zkCli.sh
而後輸入命令ls /configs/myconf
能夠查看剛纔上傳的配置文件名
10.配置每一個solrhome中的solrhome1/collection1/core.properties;明確指定本身是哪根蔥....
#solrhome1下的
numShards=2
#分多少片
name=collection1
#屬於哪一個索引庫
shard=shard1
#屬於索引庫哪一片
coreNodeName=core_node1
#數據這一片第幾個節點
##solrhome2下的
numShards=2
name=collection1
shard=shard1
coreNodeName=core_node2
11.修改tomcat/bin/catalina.sh,加一行內容指定zookeeper集羣地址(在哪加,我選擇方便直接在頭行後空白處)
JAVA_OPTS="-DzkHost=192.168.20.101:2181,192.168.20.102:2181,192.168.20.103:2181"
12.全部的操做就完了,整個文件夾拷貝到其餘機器而後修改10不走的core.properties文件指定本身是哪根蔥就好了
一切作完了挨個啓動tomcat,而後隨便找一個tomcat用瀏覽器訪問solr頁面.此時會出現cloud這個選項,點一下就看到集羣結構了
13.此時的zookeeper下面會多一些集羣節點信息
overseer, aliases.json, live_nodes, collections, overseer_elect, clusterstate.json
附錄:
#sh /opt/solr/solr-4.10.3/example/scripts/cloud-scripts/zkcli.sh -zkhost 192.168.20.101:2181,192.168.20.102:2181,192.168.20.103:2181 -cmd upconfig -confdir /opt/solr/solrhome1/collection1/conf -confname myconf -solrhome1 /opt/solr/solrhome1
JAVA_OPTS="-DzkHost=192.168.20.101:2181,192.168.20.102:2181,192.168.20.103:2181"
numShards=2
name=collection1
shard=shard1
coreNodeName=core_node1
numShards=2
name=collection1
shard=shard1
coreNodeName=core_node2
numShards=2
name=collection1
shard=shard2
coreNodeName=core_node1
numShards=2
name=collection1
shard=shard2
coreNodeName=core_node2
numShards=1
name=collection2
shard=shard1
coreNodeName=core_node1
numShards=1
name=collection2
shard=shard1
coreNodeName=core_node2