使用solr6.0搭建solrCloud
一、搭建zookeeper叢集
- 下載下傳zookeeper壓縮包到自己的目錄并解壓(本例中的目錄在/opt下),zookeeper的根目錄我們在這裡用${ZK_HOME}表示。
- 在${ZK_HOME}/conf下建立zoo.cfg檔案,可以複制zoo_sample.cfg檔案:
cp zoo_sample.cfg zoo.cfg
修改zoo.cfg的内容如下:
vim zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
#zookeeper的data目錄配置如下,可根據個人喜好更改
dataDir=/opt/zookeeper-3.4.9/dataDir
clientPort=2181
#由于zookeeper搭建叢集時,具體的zookeeper服務應為奇數個,是以我們這裡使用3台機器
server.1=192.168.2.233:2888:3888
server.2=192.168.2.234:2888:3888
server.3=192.168.2.235:2888:3888
- 在dataDir的目錄中,建立myid檔案,檔案内容為server.X中的X。
在192.168.2.233這台機器上,我們進入到dataDir目錄,建立myid檔案,内容為"1";
同理,在192.168.2.234和192.168.2.235上建立myid檔案,内容為“2”和“3”。
- 啟動3台zookeeper,指令:
./bin/zkServer.sh start
- 檢視zookeeper狀态,指令:
./bin/zkServer.sh status
二、solr_cloud搭建
- 從官網下載下傳solr6.0的壓縮包到安裝目錄,并解壓,本例中目錄為/opt,solr根目錄為/opt/solr-6.1.0,我們這裡用${SOLR_HOME}表示。
- 由于solr_cloud是分布式叢集,有shard,有replica,我們這裡使用兩台機器做例子,solr分别安裝在192.168.2.233和192.168.2.234上。
- 在兩台機器上,使用solr_cloud的方式啟動solr,指令如下:
#-c:以solr_cloud的方式啟動
#-z:指定zookeeper叢集的位址和端口,上面搭建zookeeper叢集時的3台機器
./bin/solr start -c -z zk1:port,zk2:port,zk3:port
這樣,solr_cloud就搭建成功了。但是裡邊并沒有core和collection。在solr_cloud下,我們都是建立collection。
- 建立collection時,是需要在一台機器上執行,指令如下:
#-c collection名稱,例如這裡我們要建立商品的collection
#-s shard數量,我們這裡分片為2
#-rf 副本數量,我們這裡副本設定為2
./bin/solr create -c product -s 2 -rf 2
這樣,商品的collection就建立完成了。我們可以通過192.168.2.233:8983通路管理頁面。