本機開發時會用到,遇到要升級時需要測試環境,所以本機使用 Docker 建立 Solr6,然後在 VM 上建立 Solr8

Solr 6

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
version: '3'
services:
zookeeper:
image: zookeeper:3.7
ports:
- "2181:2181"
solr:
image: solr:6.6.3
ports:
- "8983:8983"
volumes:
- data:/var/solr
#- ./init-solr.sh:/docker-entrypoint-initdb.d/init-solr.sh
environment:
- ZK_HOST=zookeeper:2181
- SOLR_HOST=127.0.0.1
- JETTY_PORT=8983
command:
- solr-foreground
#command: ["sh", "/docker-entrypoint-initdb.d/init-solr.sh"]
depends_on:
- zookeeper
volumes:
data:

將文件存檔為 docker-compose.yml ,開啟終端機並且移動到該檔案的同一層目錄,執行指令 docker-compose up -d 服務啟動後,進入到容器 docker exec -it solr-solr-1 bash 執行指令建立 Collection

1
2
3
/opt/solr/bin/solr create_collection -d /opt/solr/server/solr/configsets/basic_configs -c line -shards 1 -replicationFactor 1

/opt/solr/bin/solr create_collection -d /opt/solr/server/solr/configsets/basic_configs -c apilog -shards 1 -replicationFactor 1

Solr 8

此安裝的作業系統為 CentOS 8,下載 Solr 8.11.2 https://dlcdn.apache.org/lucene/solr/8.11.2

1
wget https://dlcdn.apache.org/lucene/solr/8.11.2/solr-8.11.2.zip

解壓縮目錄

1
unzip solr-8.11.2.zip

進入 solr-8.11.2/bin 目錄,啟動 Cloud 指令

1
./solr start -e cloud -force

要注意防火牆要開通8983(solr), 9983(zk)

1
firewall-cmd --zone=public --add-port=8983/tcp --permanent
1
firewall-cmd --zone=public --add-port=9983/tcp --permanent
1
firewall-cmd --reload