转载自 作者:d可道
原文:https://blog.csdn.net/weixin_42613538/article/details/89516198
前段时候公司给个任务做solr,(原作者)开始了我的solr征途,第一步整合solr和tomcat。
不知道为什么,我(原作者)想吐槽下,在晚上搜了大把的帖子博客,介绍两者的整合。可气的是就是没有一个能让我成功整合,说出来不怕笑话,我(原作者)整合这两个东西花了整整两天时间。。。本来也忙没时间也博客。机缘巧合,最近让我写solr的部署文档,我(原作者)这就把完整的步骤记录在这里。和大家一起分享。
我(原作者)感觉之前尝试那么多之所以不成功,就是版本不一致导致的各种问题。在此提醒自己 也提醒各位,整个两个东西,第一步就是要确定版本。所以我(原作者)才在标题加上了具体的版本号!!
废话不多说,开干
1.把solr-8.0.0目录下的server/solr-webapp/webapps放置到tomcat/webapp的目录下,重命名为solr。如下图
2.将solr-8.0.0\server\lib\ext下的jar包拷贝到tomcat里的webapps\solr\WEB-INF\lib下
如下图
2.1将solr-8.0.0\server\lib下 metrics开头的5个jar包也拷贝到tomcat里的webapps\solr\WEB-INF\lib下
2.2将solr-8.0.0\dist下 一下2个jar包也拷贝到tomcat里的webapps\solr\WEB-INF\lib下
3.在tomcat里的webapps\solr\WEB-INF下创建classes文件夹,将solr/server/resources下的jetty-logging.properties和log4j2.xml拷贝到新建的classes文件夹下,如图:
在磁盘根目录创建solrhome文件夹,把solr-8.0.0 里面的solr文件夹下的内容放入solrhome
5.修改webapps\solr\WEB-INF\web.xml里的solr\home路径,其中value的值为你创建的solrhome的绝对路径。
这里的是我写的:如果是新安装的系统 文件 可能会需要权限 chmod 777 xxx 需要授权的 授权tomcat下的startup.sh chmod 777 startup.sh 和 chmod 777 shutdown.sh 之后的才可以执行 第二个是关闭掉 防火墙 (具体方法百度)
6.启动tomcat测试
http://localhost:8091/solr/index.html#/
端口是8091注意这个,solr是已tomcat为容器启动的,访问的是tomcat的端口号,更改端口需要更改tomcat里的conf/server.xml
1.创建Core(索引库)
1.1进入solr_home\solr目录下创建core001
1.2把solr-8.0.0\example\example-DIH\solr\solr位置的内容拷进core001目录下
再创建个data空文件夹
添加成功重启tomcat,效果如下
tomcat整合solr到此结束。
在最后启动tomcat时候可能会报错IOException。。${sys:solr.log.dir}/solr_slow_requests.log路径非法等问题。解决方法如下:
将classes下的log4j2.xml更改:将所有的${sys:solr.log.dir}替换为./logs即可