淘淘商城第41讲——如何在Linux系统中搭建单机版Solr服务器呢?

回顾一下Solr

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

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

对于淘淘商城来说,由于网上商城的搜索频率特别高,因此我们很有必要把搜索单独做成一个服务,这样做的好处是可以针对该服务做扩展,比如做成服务集群等,其它模块均可以来调用Solr服务。

搭建单机版Solr服务器

下面我将告诉大家如何在Linux系统上搭建单机版的Solr服务器。在搭建之前,你得看看你的搭建环境,例如所使用的Linux系统是不是CentOS 7.6这个版本的系统,以及所使用的Solr是不是Apache Solr 8.4.0这个版本。

新建一台虚拟机

关于如何新建一台虚拟机,并在该虚拟机上安装Linux系统,在这儿我就不再废话了。如果读者不晓得怎么搞,那么可以参考我的《Linux入门第三讲——VMware Workstation 12 Pro安装CentOS-7.6》这篇文章。

安装JDK

由于Solr是由Java开发的,因此安装Solr之前需要安装JDK,关于如何在Linux系统上安装JDK,我的《Linux入门第十二讲——在Linux CentOS 7.6系统上安装JDK1.8》这篇文章已经讲的很清楚了,所以我不想再多费口舌了。

安装Solr

下载Solr

首先我们肯定是要下载Solr的压缩包的,我下载的是solr-8.4.0.tgz。大家可以从Solr官方网站(http://lucene.apache.org/solr/)下载相应版本的Solr压缩包,如何进行下载,不用我废话了吧!感觉傻子都会😀

把Solr的压缩包上传到Linux系统

怎样将文件上传到Linux系统上呢,我想我已经说的要吐了,所以这儿也不再浪费口舌了。与以往一样,我把solr-8.4.0.tgz上传到了用户主目录(即root)下,如下图所示。
在这里插入图片描述

解压缩Solr的压缩包

使用tar zxf solr-8.4.0.tgz命令将Solr的压缩包解压缩到用户主目录(即root)下。解压完之后,便可以看到解压后的solr-8.4.0目录了。
在这里插入图片描述
我们进入到该目录下,可以看到Solr的所有文件目录,如下图所示,其中在bin目录中可以使用Solr自带的Jetty服务器来启动Solr服务,但是我们一般不用这个,contrib目录下存放的是扩展包,我们一般也不用。
在这里插入图片描述
然后我们再来看看dist目录下的内容,如下图所示,可以看到有solr-solrj-8.4.0.jar这样一个jar包,它是我们的Solr客户端。
在这里插入图片描述
接着我们再来看下server目录,这个目录下有一个很重要的目录,那就是solr目录,该目录下存放的都是Solr很重要的文件。
在这里插入图片描述

安装Tomcat服务器

首先我们肯定是要下载Tomcat的压缩包的,这儿我下载的是apache-tomcat-8.5.38.tar.gz。大家可以从Tomcat官方网站(http://tomcat.apache.org)下载相应版本的压缩包,如何进行下载,不用我废话了吧!也是感觉傻子都会😀

下载完之后,将其上传到Linux系统上,仍与以往一样,我把apache-tomcat-8.5.38.tar.gz上传到了用户主目录(即root)下,如下图所示。
在这里插入图片描述
然后使用tar zxf apache-tomcat-8.5.38.tar.gz命令将Tomcat的压缩包解压缩到用户主目录(即root)下,解压完之后,即可看到解压后的apache-tomcat-8.5.38目录。
在这里插入图片描述
接着我们在/usr/local目录下新建一个solr目录,再将解压好的apache-tomcat-8.5.38目录复制一份到/usr/local/solr目录下并且重命名为tomcat,如下图所示,进入/usr/local/solr/tomcat目录之后即可看到我们非常熟悉的东西了。
在这里插入图片描述

Solr与Tomcat相结合

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

复制页面

进入到Solr 8.4.0的/server/solr-webapp目录下面,将webapp目录复制一份到/usr/local/solr/tomcat/webapps目录下,并且重命名为solr。
在这里插入图片描述
这时,如果你切换到/usr/local/solr/tomcat/webapps目录下,那么便能看到solr目录了,如下图所示。
在这里插入图片描述

复制关键jar包

进入到solr-8.4.0/dist目录中,你会看到solr-dataimporthandler-8.4.0.jar和solr-dataimporthandler-extras-8.4.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.4.0/server/lib/ext目录中,将里面的所有jar包都复制到solr(它位于/usr/local/solr/tomcat/webapps目录下)的WEB-INF/lib目录下。
在这里插入图片描述
接着进入到solr-8.4.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目录下,使用如下命令即可。

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

截图如下:
在这里插入图片描述
温馨提示:WEB-INF下面的classes目录是需要我们手动建立的,该目录在后面还可以存放IK的配置文件。

然后进入到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>

除此之外,千万记得还要把第一个<security-constraint>标签给注释掉,如下图所示。
在这里插入图片描述

创建Solr/Home

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

首先,我们在/usr/local/solr目录下新建一个solrhome文件夹,如此一来,/usr/local/solr目录下面就会有logs、solrhome以及tomcat这三个目录了,如下图所示。
在这里插入图片描述
然后,进入到solr-8.4.0/server/solr目录中,将里面的全部文件都复制到solrhome目录下。
在这里插入图片描述
这时,如果你切换到/usr/local/solr/solrhome目录下,便能看到复制过来的全部文件了。
在这里插入图片描述
接着,进入到solr-8.4.0/example/example-DIH/solr/solr目录中,将里面的conf文件夹和core.properties文件复制到solrhome目录下的core1目录中。
在这里插入图片描述
温馨提示:solrhome下面的core1目录是需要我们手动建立的,该目录就是Solr的片,也即实例。

紧接着,编辑一下core.properties文件,在其中添加name=core1这行配置,如下图所示。
在这里插入图片描述
如果你要是进入到/usr/local/solr/solrhome/core1/conf目录下,那么便会看到managed-schema、solrconfig.xml这两个文件。其中,solrconfig.xml文件在你以后配置MySQL导入数据时会用到它,managed-schema文件主要是配置Solr域的,相信你一定不会陌生。
在这里插入图片描述

检测Solr是否安装成功

经过上面的配置,单机版的Solr我们便配置完了。下面我们便来启动Tomcat服务器并使用tail -f logs/catalina.out命令查看一下启动日志,如下图所示。
在这里插入图片描述
我们要想在浏览器地址栏中输入http://虚拟机ip地址:8080这样的url地址来访问Tomcat服务器,还需要设置一下Linux的防火墙。之前我已讲过,因为Linux的防火墙默认只对外开放了一个22的端口,其他的端口都没打开,所以你还得把它的防火墙设置一下,让它对Tomcat服务器的8080端口号放行。

为了方便,我们直接关闭防火墙并且设置开机也不启动,大家可输入如下命令来进行设置:

systemctl stop firewalld
systemctl disable firewalld

接下来,我们在浏览器地址栏中输入http://虚拟机ip地址:8080/solr/index.html并回车,便可访问到Solr的管理页面了,如下图所示。
在这里插入图片描述

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李阿昀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值