偽分散式Zookeeper+solr7.2.1自帶jetty容器叢集搭建
阿新 • • 發佈:2019-01-01
搭建環境
zookeeper 3.4.11
solr7.2.1
jdk 8
Zookeeper叢集搭建
zookeeper解壓
建立cloud把zookeeper向/usr/local/cloud目錄下複製三份
zookeeper01 zookeeper02 zookeeper03在zookeeper01~3目錄下建立一個data資料夾。
在data目錄下建立一個myid的檔案,myid的內容為1(02對應“2”,03對應“3”)echo 1 >>myid,echo 2 >>myid,echo 3 >>myid
進入conf檔案,把zoo_sample.cfg檔案改名為zoo.cfg
修改zoo.cfg,把dataDir=屬性指定為剛建立的data資料夾。
修改zoo.cfg,把clientPort指定為不衝突的埠號(01:2181、02:2182、03:2183)
在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]