搭建solr和zookeeper叢集
推薦zookeeper需要三個節點,4個Solr節點 ,最少需要7個伺服器,
所以 使用偽分散式,一個伺服器搭建三個zookeeper,4個tomcat下每個都部署一個solr,一共四個solr
環境:Ubuntu
虛擬機器ip:192.168.93.128
**
一:搭建zookeeper叢集
**
1.在/usr/local下面建立solr-cloud,解壓zookeeper.tar.gz後,複製三份到solr-clude ,分別叫做zookeeper01,zookeeper02,zookeeper03
此時solr-clude裡面就會有是三個資料夾
2.在zookeeper01裡面建立data資料夾
3.在data裡 touch myid 建立myid檔案
編輯myid,裡面寫個1 就行
4.進入zookeeper/conf裡面把zoo_sample.cfg改名為zoo.cfg
進入zoo.cfg修改配置
上面的srever.1/2/3後面的ip是自己伺服器IP,後面埠克隨便填沒有被佔用的就行
**5. zookeeper02/zookeeper03同上面2.3.4步驟
6. 寫個批處理開始啟動zookeeper01/02/03**
給這個檔案可執行許可權
輸入./start-zookeeper.sh 開始啟動
二:搭建solr叢集
1.將tomcat解壓後複製四份到/usr/local/solr-clude中
起名字為tomcat01/tomcat02/tomcat03/tomcat04
2.修改每個tomcat中conf裡面的server.xml的埠資訊
下面是tomcat01中修改的地方,
tomat02 修改為 8205/8280/8209
tomcat03 修改為 8305/8380/8309
tomcat04 修改為 8405/8480/8409
3.將之前搭建好的solr單機版的工程複製到每個tomcat下面(單機版的搭建看以前文章)
這樣每個tomcat下面的webapps裡面都會有個solr這個工程
4.複製之前搭建好的單機版solrhome到/usr/local/solr-clude下面
solr-clude中就會有這幾個檔案
5.進入solrhome01/solr.xml中
修改
和solrhome02
solrhome03
solrhome04 分別修改成下面樣子
6. 進入每個tomcat裡面solr專案裡面的web.xml中修改solrhome地址
solr和solrhome關聯關係就建立好了
7. 建立tomcat和zookeeper關係
進入每個tomcat下面的bin裡面的catalina.sh
編輯它修改配置檔案
JAVA_OPTS=”-DzkHost=192.168.93.128:2181,192.168.93.128:2182,192.168.93.128:2183”
換成你自己伺服器IP
將四個tomcat/bin裡面的catalina.sh全部修改後
8. 讓zookeeper統一管理配置檔案。需要把solrhome/collection1/conf目錄上傳到zookeeper。上傳任意solrhome中的配置檔案即可
進入之前搭建單機版solr解壓後的資料夾 solr-4.10.3/example/scripts/cloud-scripts
會看到有個 zkCli.sh
在控制檯輸入
./zkcli.sh -zkhost 192.168.25.154:2181,192.168.25.154:2182,192.168.25.154:2183 -cmd upconfig -confdir /usr/local/solr-clude/solrhome01/collection1/conf -confname myconf
(上面IP換成自己的 )
使用zookeeper目錄下的bin/zkCli.sh命令檢視zookeeper上的配置檔案:
上傳成功進入solr-clude/zookeeper01/bin會有zkCli.sh
執行./zkCli.sh會預設連線21
quit是退出
輸入./zkcli.sh -server 192.168.93.128:2182 是連結2182埠的
連線任意節點就行
所有節點公用這一份配置檔案
可以看到上傳的schema.xml和solrconfig.xml檔案
9.寫個批處理啟動tomcat
vim start-tomcat.sh
10.瀏覽器輸入192.168.93.128:8010/solr
進入cloud
可以看到
11.
建立新的Collection進行分片處理。
瀏覽器輸入
http://192.168.93.128:8180/solr/admin/collections?action=CREATE&name=collection2&numShards=2&replicationFactor=2
意思是在建立一個collertion2
之後回去重新整理cloud
之後回去重新整理
12.使用solrj測試solr叢集