Linux服务器搭建Solr

Solr介绍

Solr是一个独立的企业级搜索应用服务器,它对外提供类似于WebService的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过http get操作提出查找请求,并得到XML格式的返回结果。

Solr是一个高性能,采用Java 5开发,基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,它同时也实现了可配置、可扩展并对查询性能进行了优化,并且Solr还提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎。

Solr的工作方式

数据通过http协议利用XML加到一个搜索索引库中,Solr查询该索引库也是通过http协议收到一个XML/JSON响应来实现。它的主要特点高效、灵活的缓存功能,垂直搜索功能,高亮显示搜索结果,通过索引复制来提高可用性,提供一套强大Data Schema来定义字段,类型和设置文本分析,提供基于Web的管理界面。

因为Solr是JAVA开发的,所以需要先安装JDK.可以访问下我上一篇的文章 Linux配置JDK.

安装Solr

从Solr官方网站 http://lucene.apache.org/solr/下载相应版本的Solr压缩包
使用tar -zxvf solr-8.5.0.tgz进行解压

我们进入到解压后的目录下,可以看到Solr的所有文件目录,如下图所示,其中在bin目录中可以使用Solr自带的Jetty服务器来启动Solr服务,但是我们一般不用这个,contrib目录下存放的是扩展包,我们一般也不用。
在这里插入图片描述

安装Tomcat服务器

Tomcat官方网站http://tomcat.apache.org下载相应版本的压缩包
同样先进行解压文件,即可看到解压后的apache-tomcat-8.5.71目录。
在这里插入图片描述
接着我们在/usr/local目录下新建一个solr目录,再将解压好的apache-tomcat-8.5.71目录复制一份到/usr/local/solr目录下并且重命名为tomcat,如下图所示,进入/usr/local/solr/tomcat目录之后即可看到我们非常熟悉的东西了。

mkdir /usr/local/solr
cp apache-tomcat-8.5.71 /usr/local/solr/tomcat -r
cd /usr/local/solr/tomcat

在这里插入图片描述

Solr与Tomcat相结合

进入到Solr 8.5.0的/server/solr-webapp目录下面,将webapp目录复制一份到/usr/local/solr/tomcat/webapps目录下,并且重命名为solr。

cp -r webapp /usr/local/solr/tomcat/webapps/solr

在这里插入图片描述
在这里插入图片描述

复制关键jar包

进入到solr-8.5.0/dist目录中,你会看到solr-dataimporthandler-8.5.0.jar和solr-dataimporthandler-extras-8.5.0.jar这两jar包,如下图所示。

在这里插入图片描述
现在我们所要做的事便是将这两jar包复制到solr(它位于/usr/local/solr/tomcat/webapps目录下)的WEB-INF/lib目录下,使用如下命令即可。

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

接着进入到solr-8.5.0/server/lib目录中,把里面以http2和metrics开头的jar包全部复制到solr(它位于/usr/local/solr/tomcat/webapps目录下)的WEB-INF/lib目录下,使用如下命令即可。

cp * /usr/local/solr/tomcat/webapps/solr/WEB-INF/lib

在这里插入图片描述
接着进入到solr-8.5.0/server/lib目录中,把里面以http2和metrics开头的jar包全部复制到solr(它位于/usr/local/solr/tomcat/webapps目录下)的WEB-INF/lib目录下,使用如下命令即可。

cp http2*.jar /usr/local/solr/tomcat/webapps/solr/WEB-INF/lib
cp metrics*.jar /usr/local/solr/tomcat/webapps/solr/WEB-INF/lib

在这里插入图片描述

复制配置文件

jar包拷贝完毕之后,接下来复制配置文件,配置文件主要是关于log4j的。我们切换到solr-8.4.0/server/resources目录中,将里面关于log4j的配置文件都复制到solr(它位于/usr/local/solr/tomcat/webapps目录下)的WEB-INF/classes目录下(需要在WEB-INF下面手动创建classes目录),使用如下命令即可。

cp log4j*.xml /usr/local/solr/tomcat/webapps/solr/WEB-INF/classes

在这里插入图片描述
然后进入到solr应用的WEB-INF/classes目录中,编辑一下log4j2.xml配置文件,即把所有的${sys:solr.log.dir}修改为自己指定的真实路径(这里,我是在/usr/local/solr下创建了一个logs目录),如下图所示。
在这里插入图片描述

修改web.xml文件

编辑solr/WEB-INF目录下面的web.xml文件,在其中添加如下内容:

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

在这里插入图片描述

创建Solr/Home

页面、jar包以及配置文件都配置完成之后,我们就需要创建Solr/Home了,Solr/Home是用于存放Solr Core的,如果没有配好,或者没有配置到位,那么都无法访问Solr。

首先,我们在/usr/local/solr目录下新建一个solrhome文件夹,如此一来,/usr/local/solr目录下面就会有logs、solrhome以及tomcat这三个目录了

然后,进入到solr-8.5.0/server/solr目录中,将里面的全部文件都复制到solrhome目录下。

mkdir /usr/local/solr/solrhome
cp -rf * /usr/local/solr/solrhome

在这里插入图片描述
接着,进入到solr-8.5.0/example/example-DIH/solr/solr目录中,将里面的conf文件夹和core.properties文件复制到solrhome目录下的core1目录中。
温馨提示:solrhome下面的core1目录是需要我们手动建立的,该目录就是Solr的片,也即实例。

mkdir /usr/local/solr/solrhome/core1
cp -rf * /usr/local/solr/solrhome/core1

在这里插入图片描述
编辑一下core.properties文件,在其中添加name=core1这行配置,如下图所示。

cd /usr/local/solr/solrhome/core1
name=core1

在这里插入图片描述
进入到/usr/local/solr/solrhome/core1/conf目录下,managed-schema、solrconfig.xml这两个文件。其中,solrconfig.xml文件在你以后配置MySQL导入数据时会用到它,managed-schema文件主要是配置Solr域的

在这里插入图片描述

检测Solr是否安装成功

经过上面的配置,单机版的Solr我们便配置完了。下面我们便来启动Tomcat服务器使用./startup.sh命令

在这里插入图片描述

Linux的防火墙默认只对外开放了一个22的端口,其他的端口都没打开,所以还得把它的防火墙设置一下,让它对Tomcat服务器的端口号放行。所以就直接禁用防火墙就可以了

systemctl stop firewalld  # 禁用防火墙
systemctl disable firewalld  # 防火墙开机也不启动

接下来,我们在浏览器地址栏中输入http://虚拟机ip地址:8080并回车,显示以下网址说明Tomcat配置成功
在这里插入图片描述
继续输入http://虚拟机ip地址:8080/solr/index.html,看到以下网站说明Solr配置成功
在这里插入图片描述
访问问题出现404找不到页面问题

  1. 可以先查看默认端口8080是否被占用 显示以下数据说明端口已被占用 可以使用kill -9 进程号进行删除
netstat  -anp  |grep 8080

在这里插入图片描述

  1. 如果不想删除进程可以进入tomcat/conf目录中找到server.xml文件进行修改默认端口号
    在这里插入图片描述
    在这里插入图片描述
    修改以后进入tomcat/bin目录输入
cd /usr/local/solr/tomcat/bin
./shutdown.sh  # 进行关闭
ps -ef|grep java  # 查看进程是否关闭

如果出现以下相似信息说明还在运行这时可以使用 kill -9 27125 进行删除进程,删除后再次查看如果没有以下信息后使用 ./startup.sh 再次运行
在这里插入图片描述

好了, 到此已经是全部的内容了…加油

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值