系统环境
solr-7.2.0.tgz
apache-tomcat-9.0.2.tar.gz
jdk-9.0.1_linux-x64_bin.tar.gz
CentOS-7-x86_64-DVD-1708
配置步骤
1、解压 tar.gz 源码包,得到 solr-7.2.0/ 文件夹;
2、创建目录 /usr/local/solr/,将 solr-7.2.0/server/ 下的文件夹 solr/ 复制到该目录下,更名为 solrhome/;再将 tomcat9 解压后的文件夹也复制到该目录下,更名为 tomcat/;
3、复制文件夹 solr-7.2.0/server/solr-webapp/webapp/ 到 /usr/local/solr/tomcat/webapps/ 目录下,更名为 solr/;
4、进入第 3 步新命名的 solr 文件夹,进入 solr/WEB-INF/lib/,向其中复制 solr-7.2.0/ 下的两处 jar 包:
4.1、solr-7.2.0/server/lib/ext/ 下的所有 jar 包,共五个:
jcl-over-slf4j-1.7.7.jar
jul-to-slf4j-1.7.7.jar
log4j-1.2.17.jar
slf4j-api-1.7.7.jar
slf4j-log4j12-1.7.7.jar
4.2、solr-7.2.0/server/lib/ 下所有以“metrics”开头的 jar 包,总共也有五个:
metrics-core-3.2.2.jar
metrics-ganglia-3.2.2.jar
metrics-graphite-3.2.2.jar
metrics-jetty9-3.2.2.jar
metrics-jvm-3.2.2.jar
5、修改 solr/WEB-INF/web.xml 文件:
5.1、配置 JNDI ,指定 Solr 项目关联的 solrhome 的具体路径:
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>/usr/local/solr/solr_home</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
5.2、注释文件末尾的所有 <security-constraint> 元素节点:
<!-- Get rid of error message -->
<!--
<security-constraint>
<web-resource-collection>
<web-resource-name>Disable TRACE</web-resource-name>
<url-pattern>/</url-pattern>
<http-method>TRACE</http-method>
</web-resource-collection>
<auth-constraint/>
</security-constraint>
<security-constraint>
<web-resource-collection>
<web-resource-name>Enable everything but TRACE</web-resource-name>
<url-pattern>/</url-pattern>
<http-method-omission>TRACE</http-method-omission>
</web-resource-collection>
</security-constraint>
-->
6、复制日志配置文件 solr-7.2.0/server/resources/log4j.properties,放入新创建的文件夹 WEB-INF/classes/ 内;
7、进入 usr/local/solr/tomcat/bin/,启动 tomcat9;在本地浏览器输入::8080/solr/index.html,远程客户端输入::8080/solr/index.html,注意一定要加 /index.html,否则报 404 错误。
Solr 正常打开后的页面效果:
下图为按步骤梳理的 Solr7.2.0 与 Solr4.10.3 在配置上的异同,仅供参考。
其他注意事项:
1、当前 JDK9 需要运行在 64 位 Linux 操作系统上;
2、如果本地访问成功但远程失败,需要关闭 Linux 防火墙或新增许可端口;
参考文章:
更多Solr相关教程见以下内容: