Linux環境基於Centos7+Docker 搭建 Solr8搭建

先臨時安裝部署一個solr-tmp-server:

拉取Solr鏡像

docker pull solr:latest

部署鏡像臨時服務

docker run -itd -p 8983:8983 --restart=always --privileged=true --name solr-tmp-server solr:latest

查看運行時的鏡像服務

docker ps --format "table {{.ID}}\t{{.Names}}\t{{.Ports}}”

CONTAINER ID NAMES PORTS
8bc421ef0a70 solr-tmp-server 0.0.0.0:8984->8983/tcp
1102a987dca7 solr7-server 0.0.0.0:8983->8983/tcp
59696cbcdc89 rocketmq-console-server 0.0.0.0:8686->8080/tcp
a585377d27f9 rocketmq-broker-server 0.0.0.0:10909->10909/tcp, 9876/tcp, 0.0.0.0:10911->10911/tcp
77f002077e21 rocketmq-namesrv-server 10909/tcp, 0.0.0.0:9876->9876/tcp, 10911/tcp
b32eef9fae32 dubbo-server 0.0.0.0:9200->8080/tcp
9df44a388458 mysql5-test-server 33060/tcp, 0.0.0.0:3407->3306/tcp
4504209184f5 mysql5-server 33060/tcp, 0.0.0.0:3409->3306/tcp
80a3df8e7570 activemq-test-server 1883/tcp, 5672/tcp, 61613-61614/tcp, 0.0.0.0:9092->8161/tcp, 0.0.0.0:61618->61616/tcp
f9f0788f1118 activemq-develop-server 1883/tcp, 5672/tcp, 61613-61614/tcp, 0.0.0.0:8886->8161/tcp, 0.0.0.0:61617->61616/tcp
d5beddf650de jenkins-server 0.0.0.0:12345->8080/tcp, 0.0.0.0:32809->50000/tcp
27dbed560e89 nginx-server 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp
ee506d85d47d nexus-server 0.0.0.0:8088->8081/tcp
963dd344d6e2 redis-develop-server 0.0.0.0:30001->6379/tcp
7779a62d3bd9 redis-test-server 0.0.0.0:30002->6379/tcp
6a9126755c02 zookeeper-remote-server 2888/tcp, 3888/tcp, 8080/tcp, 0.0.0.0:2182->2181/tcp
12ff9c292dd4 zookeeper-develop-server 2888/tcp, 3888/tcp, 0.0.0.0:2181->2181/tcp, 8080/tcp
9ffb273b9090 portainer-server 0.0.0.0:9000->9000/tcp

8bc421ef0a70 爲solr-tmp-server 服務的容器Id

docker 部署安裝目錄:
/docker/workspace/common/solr

在/docker/workspace/common/solr目錄下創建config目錄以及在config目錄下創建data 和logs:
mkdir -p /docker/workspace/common/solr/config/

mkdir -p /docker/workspace/common/solr/config/{data, logs}

拷貝/opt/solr/server 到 安裝部署目錄:
docker cp 8bc421ef0a70:/opt/solr/server /docker/workspace/common/solr

拷貝/var/solr/log4j2.xml到安裝部署目錄config:
docker cp 8bc421ef0a70:/var/solr/log4j2.xml /docker/workspace/common/solr/config

拷貝/var/solr/logs/下的數據到安裝部署目錄logs:
docker cp 8bc421ef0a70:/var/solr/logs/ /docker/workspace/common/solr/config/logs

拷貝/var/solr/data/下的數據到安裝部署目錄data:
docker cp 8bc421ef0a70:/var/solr/data/ /docker/workspace/common/solr/config/data

最重要和最關鍵的一步,對宿主機創建的文件夾進行授權:
chmod -R 777 /docker/workspace/common/solr
chmod -R 777 /docker/workspace/common/solr/server
chmod -R 777 /docker/workspace/common/solr/config/
chmod -R 777 /docker/workspace/common/solr/config/data/
chmod -R 777 /docker/workspace/common/solr/config/logs/

正式部署Solr 服務:

掛載配置文件對比映射:
Host/volume
Path in container
/docker/workspace/common/solr/config/logs
/var/solr/logs
/docker/workspace/common/solr/config/log4j2.xml
/var/solr/log4j2.xml
/docker/workspace/common/solr/config
/var/solr
/docker/workspace/common/solr/mydata
/opt/solr/mydata
/docker/workspace/common/solr/server
/opt/solr/server
/docker/workspace/common/solr/config/data
/var/solr/data
配置JVM參數:
TZ
Asia/Shanghai
JAVA_OPTS
-server -verbose:gc -Xms256m -Xmx256m -Xmn128m -Xss128M -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=256m -XX:SurvivorRatio=8 -XX:+AlwaysPreTouch -XX:-UseBiasedLocking -XX:+UseG1GC -XX:G1HeapRegionSize=128m -XX:G1ReservePercent=25 -XX:InitatingHeapOccupancyPercent=80 -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=128m
核心部署服務命令:

docker run -itd -p 9991:8983 --restart=always --privileged=true --name solr-server -v /docker/workspace/common/solr/mydata:/opt/solr/mydata -v /docker/workspace/common/solr/server:/opt/solr/server -v /docker/workspace/common/solr/config/data:/var/solr/data -v /docker/workspace/common/solr/config/logs/:/var/solr/logs -v /docker/workspace/common/solr/config/log4j2.xml:/var/solr/log4j2.xml -v /docker/workspace/common/solr/config:/var/solr -e TZ="Asia/Shanghai" -e JAVA_OPTS="-server -verbose:gc -Xms256m -Xmx256m -Xmn128m -Xss128M -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=256m -XX:SurvivorRatio=8 -XX:+AlwaysPreTouch -XX:-UseBiasedLocking -XX:+UseG1GC -XX:G1HeapRegionSize=128m -XX:G1ReservePercent=25 -XX:InitatingHeapOccupancyPercent=80 -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=128m" solr:latest

創建核心選擇器:
docker exec -it --user=solr solr-server bin/solr create_core -c query-server
docker exec -it --user=solr solr-server bin/solr create_core -c inquiry-server
docker exec -it --user=solr solr-server bin/solr create_core -c collection-server

版權聲明:本文爲博主原創文章,遵循相關版權協議,如若轉載或者分享請附上原文出處鏈接和鏈接來源。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章