Linux服务器上搭建Solr8.0及以上服务,非常详细,步步到位(包含使用Tomcat服务器)

默认的Jetty服务器启动(很简单)

Solr服务器是一款企业级的搜索引擎,是可以支持Java连接和JSON格式等多种格式,所以作为Java开发工程师还是需要知道的。花费了接近一天时间的配置,终于搞懂它在Linux系统上的配置。(Windows系统上配置较为简单)

一、检查运行环境

在它的官网上说明了支持的最低配置:

  • JDK1.8
  • Tomcat 8.0

如果老铁的环境为符合要求,那就需要进行更换了。

二、下载资源

我安装Solr服务器时的最新版是8.4.1,所以我就以8.4.1版本作为基准版本,Linux上面能够识别的文件是.tgz这种,不要下载成.zip压缩文件了。

官网:http://lucene.apache.org/solr/

Solr-8.4.1的下载地址:https://www-eu.apache.org/dist/lucene/solr/8.4.1/solr-8.4.1.tgz

在Linux上用wget命令获取资源,或者在Windows上使用下载工具下载,在通过VSftpd传输到Linux上。

三、解压运行

获取到solr-8.4.1.tgz文件后使用命令进行解压,不同的版本后面的名字不一样

tar -zxvf solr-8.4.1.tar

解压后目录

 我这里安装了两种版本,所以有7.0和8.0两。

解压后进入到solr-8.4.1/bin的目录下,solr-8.4.1是解压后产生的文件夹,进入到目录后输入下面命令

./solr -p 8983

 然后报错

这时编辑solr.in.sh文件,输入/SOLR_ULIMIT_CHECKS,回车,可以搜索该内容,按I或者按insert便可以进行编辑,把前边的#删除,并且等于false:SOLR_ULIMIT_CHECKS=false

按ESC,输入:wq 保存并退出

输入命令开启Solr

./solr start -p 8983 -force

四、连接测试

在浏览器的地址栏输入:192.168.1.10:8983,便可以看到服务已经正常开启

移植到Tomcat服务器上(较为复杂)

我们上面是直接使用Solr自带的Jetty服务器,这种服务器不太稳定,所以我们需要更换为更加稳定可靠的Tomcat服务器

一、获取解压Tomcat

目前的Solr服务器已经不支持Tomcat 7.0版本,需要升级到8.0及以上版本,注意下载Tomcat的时候需要下载.tar.gz文件,不要下载.zip文件格式

Tomcat官网:http://tomcat.apache.org

Tomcat 9.0.30版本:https://www-eu.apache.org/dist/tomcat/tomcat-9/v9.0.30/bin/apache-tomcat-9.0.30.tar.gz

下载好Tomcat后执行命令解压Tomcat

tar -zxvf apache-tomcat-9.0.30.tar.gz

 然后将刚刚解压的文件移动到/usr/local/tomcat/apache-tomcat-9.0.30,防止随意乱动,当然不移动也是可以的。

mv apache-tomcat-9.0.30 /usr/local/tomcat/

二、配置资源

我们需要将在Jetty服务器上运行的文件复制到Tomcat服务器上,这样Solr就能正常在Tomcat服务器上运行

1、复制页面

进入到Solr的/server/solr-webapp下面,将webapp复制到Tomcat下面的webapps,并且重命名为solr

 输入命令进行复制,记得带上参数r,不然可能会报错

cp -r webapp /usr/local/tomcat/apache-tomcat-9.0.30/webapps/solr8

2、复制关键架包

2.1  复制solr-8.4.1/dist下面的solr-dataimporthandler-8.4.1.jar、solr-dataimporthandler-extras-8.4.1.jar到Tomcat下的WEB-INF/lib下。注意不同的版本后面带的名字是不一样的。

cp solr-dataimporthandler*.jar /usr/local/tomcat/apache-tomcat-9.0.30/webapps/solr8/WEB-INF/lib/

2.2  进入到/server/lib/ext目录,将里面(下面)的所有架包复制

cp * /usr/local/tomcat/apache-tomcat-9.0.30/webapps/solr8/WEB-INF/lib/

2.3  进入到/server/lib目录,把里面以metrics开头的架包全部复制

cp metrics*.jar /usr/local/tomcat/apache-tomcat-9.0.30/webapps/solr8/WEB-INF/lib/

3、复制配置文件

架包拷贝完毕后,复制配置文件,配置文件主要是log4j的

进入到/server/resources目录,将里面关于log4j的配置都进行复制

cp log4j*.xml /usr/local/tomcat/apache-tomcat-9.0.30/webapps/solr8/WEB-INF/classes

注意:WEB-INF下面的classes是需要手动建立,后面还可以放至IK的配置文件

4、修改web.xml

编辑Tomcat下Solr的web.xml文件,添加以下内容:

 <env-entry>
    <env-entry-name>solr/home</env-entry-name>
   <!--此处为centos可以识别的路径-->
    <env-entry-value>/usr/local/solr/solr-8.4.1/solr-home</env-entry-value> 
    <env-entry-type>java.lang.String</env-entry-type>
  </env-entry>

并且为第一个 security-constraint标签添加注释

三、创建Solr/Home

页面,架包和配置文件都配置完成了,这个时候我们就需要创建Solr/Home了,Solr/Home是存放Solr Core的,如果没有配好,或者没有配置到位,那么都无法访问Solr。

到solr目录下,进入/server/solr,这里是存放solr core的

我们只需要将里面的全部文件复制到solr/home里

先创建文件夹,这个文件夹可以自己随意创建,但建议放到不可以被随意更改的地方

 mkdir /usr/local/solr/solr-8.4.1/solr-home

 文件夹已经创建完成,那么我们就将内容全部复制过去

cp -rf * /usr/local/solr/solr-8.4.1/solr-home

复制完成后的solr/home

 

四、启动测试

进入到Tomcat的bin目录

输入以下命令运行Tomcat

./startup.sh

 成功后,打开浏览器

输入:192.168.1.10:8080

注意:这里的8080是Tomcat默认的端口号,Solr自带的Jetty是使用8983

 

如果出现这样的404就是solr/home的路径没有配到位,或者是里面的文件缺斤少两

 

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