Solr+Tomcat单机版的安装与部署


一、硬件环境

假设有1台机,IP及主机名如下:

192.168.100.105 c1

二、软件环境

1.安装JDK

2.安装Tomcat

三、搭建Solr单机版

假定Tomcat和Solr都安装在/home/目录。

Solr根目录下的主要目录:

/bin/  运行脚本
/server/solr/  Solr core配置文件
/server/resources/  Log4j配置文件
/server/lib  内置Jetty运行的依赖包,部署到Tomcat运行时会用到其中几个
/server/lib/ext  同上,扩展依赖包
/server/solr-webapp/  管理平台(Solr Admin)

1.下载

https://solr.apache.org/downloads.html

下载最新版,这里下载的是8.11.0,文件名是solr-8.11.0.tgz

2.解压

cd /home/
tar -xvf solr-8.11.0.tgz

其中,solr-8.11.0/server/solr目录存放的是Solr的配置文件,为了方便,复制到外面

cp solr-8.11.0/server/solr ./

执行后,/home/目录下有3个文件夹:tomcat、solr-8.11.0、solr

3.把Solr管理平台目录放进Tomcat

cd /home/tomcat/webapps/
cp -r /home/solr-8.11.0/server/solr-webapp/webapp ./
mv webapp solr

4.修改Solr管理平台的配置

cd solr/WEB-INF
vim web.xml

标签内容加入以下内容:

  <env-entry>
    <env-entry-name>solr/homeenv-entry-name>
    <env-entry-value>/home/solrenv-entry-value>
    <env-entry-type>java.lang.Stringenv-entry-type>
  env-entry>

注释以下这段(用包裹即可):

  <security-constraint>
    <web-resource-collection>
      <web-resource-name>Disable TRACEweb-resource-name>
      <url-pattern>/url-pattern>
      <http-method>TRACEhttp-method>
    web-resource-collection>
    <auth-constraint/>
  security-constraint>
  <security-constraint>
    <web-resource-collection>
      <web-resource-name>Enable everything but TRACEweb-resource-name>
      <url-pattern>/url-pattern>
      <http-method-omission>TRACEhttp-method-omission>
    web-resource-collection>
  security-constraint>

* 必须要注释掉,否则会报错

5.把运行所需要的依赖包复制到Tomcat

有2个目录可选择:

/tomcat/lib  所有服务共用的依赖包
/tomcat/webapps/solr/WEB-INF/lib  仅Solr服务使用的依赖包

* 除了这两个目录外,还有一个叫lib的目录,位置在/tomcat/webapps/solr/libs

这个是开发团队自己创建的目录,不是放依赖包的,注意不要放错路径。

这里把依赖包放到Solr服务的目录下:

cd /home/tomcat/webapps/solr/WEB-INF/lib
cp /home/solr-8.11.0/server/lib/* ./
cp /home/solr-8.11.0/server/lib/ext/* ./

6.把Log4j的配置文件复制到Tomcat

cd /home/tomcat/webapps/solr/WEB-INF
mkdir classes
cd classes
cp /home/solr-8.11.0/server/resources/* ./

然后编辑Log4j的配置:

vim log4j.xml

把${sys:solr.log.dir}替换成/home/tomcat/logs/,就是说,把Solr的日志输出到Tomcat的日志目录中

先输入:(查找字符串用斜杠/,替换用冒号:),然后输入以下命令进行批量替换:

%s/\${sys\:solr\.log\.dir}/\/home\/tomcat\/logs/g

7.启动Tomcat

由于在前面的Tomcat部署已经把Tomcat路径配置到环境变量,所以这里直接输入命令即可

startup.sh

8.测试

用浏览器打开

http://192.168.100.105:8080/solr/index.html