Docker 安装solr8.3.1

Docker 安装solr8.3.1

Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。
Solr是一个高性能,采用Java开发,基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎。

本主要介绍再docker中如何安装solr8.3.1

一、准备docker容器

1、拉取centos镜像

docker pull centos

2、启动容器

docker run --privileged  -itd -p 8983:8983 -e "container=docker" -v /data/coowalt/solr:/data/soft --name solr centos /usr/sbin/init

参数说明

-v : 挂在容器目录到宿主机目录。本文将solr容器的/data/soft挂在到宿主机的/data/coowalt/solr目录下
-p : 端口映射。solr8.3.1默认端口为8983
–name : 容器名称,本例为solr

二、安装包准备

1、下载jdk1.8-u231
百度网盘下载
官网下载

2、上传下载的jdk至宿主机/data/coowalt/solr目录下
注:可以使用rz 命令或者ftp上传

1、下载solr8.3.1
百度网盘下载
官网下载

2、上传下载的solr8.3.1到宿主机/data/coowalt/solr目录下
注:可以使用rz或者ftp上传

由于在启动solr容器时将容器的/data/soft目录挂在到宿主机的/data/coowalt/solr目录下,所有在solr容器/data/soft目录下可以看到刚上传的.tar.gz包。

三、解压安装(在容器中进行操作)

1、java环境安装

1)进入容器

docker exec -it solr bash

2)进入容器的/data/soft目录

cd /data/soft

3)解压jdk-8u231-linux-x64.tar.gz,并拷贝解压后的目录jdk1.8.0_231到/usr/local目录中

tar -xzvf jdk-8u231-linux-x64.tar.gz
mv jdk1.8.0_231 /usr/local

4)设置java环境,验证java是否安装成功,在/etc/profile和~/.bashrc文件中写入

vi ~/.bashrc
vi /etc/profile

在最后写入

export JAVA_HOME=/usr/local/jdk1.8.0_231
export PATH=$JAVA_HOME/bin:$PATH

保存退出编辑:wq,并应用配置

source ~/.bashrc

验证java

java -version	
java version "1.8.0_231"
Java(TM) SE Runtime Environment (build 1.8.0_231-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.231-b11, mixed mode)

2、在容器中安装solr

1)进入容器的/data/soft目录,解压solr-8.3.1.tgz

cd /data/soft
tar -xzvf solr-8.3.1.tgz

2)在solr容器中安装lsof和service

yum install lsof -y
yum install initscripts -y

3)在容器中创建/usr/local/solr和/data/solr目录,并初始化solr

mkdir /data/solr
mkdir /usr/local/solr
/data/soft/solr-8.3.1/bin/install_solr_service.sh /data/soft/solr-8.3.1.tgz -d /data/solr -i /usr/local/solr

id: 'solr': no such user
Creating new user: solr
adduser: warning: the home directory already exists.
Not copying any file from skel directory into it.

Extracting /data/soft/solr-8.3.1.tgz to /usr/local/solr


Installing symlink /usr/local/solr/solr -> /usr/local/solr/solr-8.3.1 ...


Installing /etc/init.d/solr script ...


Installing /etc/default/solr.in.sh ...

#出现下面提示,说明solr提示成功
Service solr installed.

4)将配置文件软连接到etc

rm -f /etc/default/solr.in.sh
ln -s /usr/local/solr/solr/bin/solr.in.sh /etc/default/solr.in.sh

5)在/usr/local/solr/solr/bin/solr.in.sh最后添加

cd /usr/local/solr/solr/bin
cp solr.in.sh.orig solr.in.sh
vi solr.in.sh

SOLR_PID_DIR="/data/solr"
SOLR_HOME="/data/solr/data"
LOG4J_PROPS="/data/solr/log4j2.xml"
SOLR_LOGS_DIR="/data/solr/logs"
SOLR_PORT=“8983”
SOLR_TIMEZONE=“Asia/Shanghai”
#SOLR_HEAP=“4096m”#内存调优

6)重新启动solr服务

service solr restart
Waiting up to 180 seconds to see Solr running on port 8983 [\]  
#出现下面提示说明solr启动成功
Started Solr server on port 8983 (pid=439). Happy searching!

7)打开浏览器,访问http://宿主机ip:8983

8)补充说明

#core仓库存放目录
/data/solr/data
#服务存放目录
/usr/local/solr/solr/
#solr配置文件
/etc/default/solr.in.sh 或 /usr/local/solr/solr/bin/solr.in.sh
#启动
service solr start
#停止
service solr stop
#重启
service solr restart
#服务启动文件位置
/etc/init.d/solr

最后:

solr环境容器已打包成镜像上传到 docker hub中。
可以使用 docker pull coowalt/solr8.3.1-jdk8u231:v1 拉取镜像到宿主机,启动容器

你可能感兴趣的:(服务器)