1. 程式人生 > >偽分散式Zookeeper+solr7.2.1自帶jetty容器叢集搭建

偽分散式Zookeeper+solr7.2.1自帶jetty容器叢集搭建

搭建環境
zookeeper 3.4.11
solr7.2.1
jdk 8

Zookeeper叢集搭建

  1. zookeeper解壓

  2. 建立cloud把zookeeper向/usr/local/cloud目錄下複製三份
    zookeeper01 zookeeper02 zookeeper03

  3. 在zookeeper01~3目錄下建立一個data資料夾。

  4. 在data目錄下建立一個myid的檔案,myid的內容為1(02對應“2”,03對應“3”)echo 1 >>myid,echo 2 >>myid,echo 3 >>myid

  5. 進入conf檔案,把zoo_sample.cfg檔案改名為zoo.cfg

  6. 修改zoo.cfg,把dataDir=屬性指定為剛建立的data資料夾。

  7. 修改zoo.cfg,把clientPort指定為不衝突的埠號(01:2181、02:2182、03:2183)

  8. 在zoo.cfg中新增如下內容:
    server.1=192.168.1.105:2881:3881
    server.2=192.168.1.105:2882:3882
    server.3=192.168.1.105:2883:3883

這裡寫圖片描述

分別啟動三個zookeeper。

Zookeeper的目錄下有一個bin目錄。使用zkServer.sh啟動zookeeper服務。
啟動:./zkServer.sh start
關閉:./zkServer.sh stop
檢視服務狀態:./zkServer.sh status

搭建solr叢集

  • 解壓solr後分別拷貝四份進入bin目錄下
    這裡寫圖片描述

    • 分別修改solr.in.sh
[root@localhost solr-7.2.1]# vim bin/solr.in.sh 
ZK_HOST="192.168.1.107:2181,192.168.1.107:2182,192.168.1.107:2183"
#為機器的ip
SOLR_HOST="192.168.1.107"
#更改埠分別為8983,8984,8985,8986
SOLR_PORT=8983
  • 分別啟動solr 檢視啟動solr狀態
[root@localhost solr-7.2.1
]# bin/solr start [root@localhost solr-7.2.1]# bin/solr status Found 1 Solr nodes: Solr process 10139 running on port 8983 { "solr_home":"/usr/local/solr-7.2.1/server/solr", "version":"7.2.1 b2b6438b37073bee1fca40374e85bf91aa457c0b - ubuntu - 2018-01-10 00:54:21", "startTime":"2018-02-21T07:58:21.664Z", "uptime":"0 days, 0 hours, 39 minutes, 56 seconds", "memory":"75.8 MB (%15.4) of 490.7 MB", "cloud":{ "ZooKeeper":"192.168.1.107:2181,192.168.1.107:2182,192.168.1.107:2183", "liveNodes":"1", "collections":"1"}}
  • 分散式啟動,可以在任意一個Solr下啟動
#(建立2個分片,2個副本,-s,-rf預設都是1,即不分片,無副本)
[root@localhost bin]# ./solr create -c coll -s 2 -rf 2 -force

-s 表示分片個數
-rf 表示副本個數

這裡寫圖片描述

  • 上傳配置檔案到zookeeper
[[email protected] bin]# ./solr zk upconfig -n mynewconfig -d /usr/local/solr-7.2.1/server/solr/configsets/_default/conf
Uploading /usr/local/solr-7.2.1/server/solr/configsets/_default/conf for config mynewconfig to ZooKeeper at 192.168.1.107:2181,192.168.1.107:2182,192.168.1.107:2183

-n 表示配置在zk上的檔名稱
-d 配置檔案路徑

  • 檢視上傳zk的mynewconfig,進入任意zookeeper
[[email protected] bin]# ./zkCli.sh

[zk: localhost:2181(CONNECTED) 1] ls /
[configs, zookeeper, overseer, aliases.json, live_nodes, collections, overseer_elect, security.json, clusterstate.json, autoscaling, autoscaling.json]
[zk: localhost:2181(CONNECTED) 2] ls /configs
[ coll, mynewconfig]