1. 程式人生 > 其它 >Solr叢集(SolrCloud)的安裝與部署(使用Tomcat)

Solr叢集(SolrCloud)的安裝與部署(使用Tomcat)

搭建SolrCloud模式的叢集,使用內建的Jetty執行

一、硬體環境

假設有4臺機,IP及主機名如下:

192.168.100.105 c1
192.168.100.110 c2
192.168.100.115 c3
192.168.100.120 c4

二、軟體環境

1.安裝JDK

https://www.cnblogs.com/live41/p/14235891.html

2.安裝ZooKeeper

https://www.cnblogs.com/live41/p/15522363.html

安裝完後,在4臺機分別啟動ZooKeeper,4臺機都要執行。

zkServer.sh start

3.安裝Tomcat

https://www.cnblogs.com/live41/p/15598669.html

三、搭建Solr叢集(SolrCloud模式)

假定Tomcat和Solr都安裝在/home/目錄。

1.先在每臺機安裝單機版Solr

https://www.cnblogs.com/live41/p/15608048.html

* 不僅是下載解壓,要按文章中的步驟執行,每臺機都要執行

2.配置solr.xml

* 所有機都要執行該步驟

cd /home/solr
vim solr.xml

修改或新增以下屬性:

<str name="host">192.168.100.105</str>
<int 
name="hostPort">8080</int> <str name="zkHost">c1:2181,c2:2181,c3:2181,c4:2181</str>

host屬性除了IP,也可以用主機名,例如c1、c2、……

host屬性在每臺機要配置該機器的IP,例如在c1機要配置c1或192.168.100.105,在c2機要配置c2或192.168.100.110

hostPost屬性是對應Tomcat的conf目錄的server.xml檔案的<Connector port=""/>引數的值,預設是8080

zkHost屬性是ZooKeeper全部節點的地址,用逗號隔開。理論上,如果配置了Tomcat的catalina.sh,也可以不配置該屬性,請自行測試。

3.配置catalina.sh

* 所有機都要執行該步驟

cd /home/tomcat/bin
vim catalina.sh

新增以下內容:

#JAVA_OPTS="$JAVA_OPTS -DzkHost=c1:2181,c2:2181,c3:2181,c4:2181"

* 如果執行Solr管理平臺時出現主機名+IP的重複節點,就把這裡改成用IP:

JAVA_OPTS="$JAVA_OPTS -DzkHost=192.168.100.105:2181,192.168.100.110:2181,192.168.100.115:2181,192.168.100.120:2181"

4.上傳Solr的collection配置給ZooKeeper

* 只在c1機執行

為了讓ZooKeeper統一管理配置,把Solr的collection配置檔案上傳到ZooKeeper

如果是按照前面的文章進行操作,那麼目前/home/目錄下應該有3個目錄:

solr  Solr的配置及指令碼
solr-8.11.0  Solr安裝包解壓的目錄(包含所有檔案)
tomcat  Tomcat的安裝目錄

其中需要用到solr-8.11.0的zkcli.sh指令碼

cd /home/solr-8.11.0/server/scripts/cloud-scripts
zkcli.sh -cmd upconfig -zkhost c1:2181,c2:2181,c3:2181,c4:2181 -confdir /home/solr/configsets/_default/conf -confname myconf

-cmd upconfig 上傳collection的配置

-zkhost 上傳的ZooKeeper

-confdir 配置檔案的路徑

-confname 配置名,登記到ZooKeeper

測試是否提交成功:

# 登入ZooKeeper
zkCli.sh -server localhost:2181

列出名為myconf的配置檔案
ls /configs/myconf

# 關閉連線
close

# 退出ZooKeeper
quit

5.啟動Tomcat

* 所有機都要執行該步驟

startup.sh

6.測試

在瀏覽器開啟:

http://192.168.100.105:8080/solr/index.html

然後點選Cloud,可以看到節點資訊

7.關閉

* 所有機都要執行該步驟

# 注意有.sh,別打錯成關機命令shutdown
shutdown.sh
zkServer.sh stop