solr 部署到 Tomcat

本人对jetty不熟悉,而且看到默认的文件目录结果有点松散,更喜欢集中管理的模式,决定用tomcat来部署solr。

准备
- solr 6.6.0 版本
- tomcat 9.0 windows 安装版
- jdk 1.8

部署

  1. 安装Tomcat,这里采用的是安装版,安装目录选择F:\Tomcat 9.0,如下图:
    这里写图片描述
  2. 解压solr 6.6.0,如下图:
    这里写图片描述
  3. 复制server文件夹下的solr-webapp\webapp到tomcat的webapps,并将重命名为solr;
  4. 复制server\lib\ext下的jar到tomcat\webapps下的solr项目的WEB-INF\lib中;
  5. 复制dist文件夹中solr-dataimporthandler-6.6.0.jar和solr-dataimporthandler-extras-6.6.0.jar包到tomcat\webapps下的solr项目的WEB-INF\lib中;
  6. 复制server\lib下的所有带metrics的jar包到tomcat\webapps下的solr项目的WEB-INF\lib中;
  7. 复制example\example-DIH下的solr文件夹到tomcat\webapps下的solr项目根目录中,并命名为solrhome(名字任意起,并无限制)。所谓的solrhome目录实际上是一个运行的Solr实例所对应的配置和数据(Lucene索引)。如要新建solr core,在solrhome下新建new_core文件夹,new_core为一个新实例。将server\solr下的solr.xml拷贝到solrhome目录下。如图新建JobSeeker实力:
    这里写图片描述
    在JobSeeker下新建data文件夹,将server\solr\configsets\basic_configs下的conf拷到Jobseeker目录;
    这里写图片描述
  8. 配置web.xml,打开Tomcat 9.0\webapps\solr\WEB-INF下的web.xml,找到如下代码:

    <!-- People who want to hardcode their "Solr Home" directly into the
       WAR File can set the JNDI property here...
    -->
    <!--
    <env-entry>
       <env-entry-name>solr/home</env-entry-name>
       <env-entry-value>/put/your/solr/home/here</env-entry-value>
       <env-entry-type>java.lang.String</env-entry-type>
    </env-entry>
    -->

    去掉<env-entry>....</env-enry>的注释,并将/put/your/solr/home/here改成solrhome的路径,如下:

    <!-- People who want to hardcode their "Solr Home" directly into the
       WAR File can set the JNDI property here...
    -->
    
    <env-entry>
       <env-entry-name>solr/home</env-entry-name>
       <env-entry-value>F:\Tomcat 9.0\webapps\solr\solrhome</env-entry-value>
       <env-entry-type>java.lang.String</env-entry-type>
    </env-entry>
  9. 解决权限问题,依然打开Tomcat 9.0\webapps\solr\WEB-INF下的web.xml,在文件后面找到如下代码:

    
    <!-- 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>

    <security-constraint>***</security-constraint>注释掉;

  10. 复制server\resources下的log4j.properties 到Tomcat \webapps\solr\WEB-INF\下的classes文件夹中,如果没有classes文件夹,则手动创建;

  11. 访问http://localhost:8080/solr/index.html,如图:
    这里写图片描述

补充:
1.server\solr\configsets\basic_configs\conf路径下也带有配置solrcore的配置文件的样本;

到这里算是部署完毕,记录一下,以后方便查阅。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值