zoukankan      html  css  js  c++  java
  • Solr整合Tomcat

    一、Solr与Tomcat整合:

      虽然Solr内部提供有小型的WEB容器,但是在实际的开发之中,如果要想使用Solr往往是结合Tomcat完成使用的,那么也就意味着需要在Tomcat之中配置一个专属的Solr项目(虚拟目录)。

    1. 如果要想在Tomcat中进行Solr服务的配置,那么一定需要创建有一个基本的工作目录,该目录之中需要保存有solr的一些核心内容:

    mkdir -p /solr/{webapp,home,logs}

      webapp:保存所有的Web相关的配置,Tomcat的启动需要Web结构支持、home:保存Solr的主配置文件、log:保存所有的日志文件。

    2. 为“webapp”拷贝内容:

    cp -r /usr/local/solr/server/solr-webapp/webapp/* /solr/webapp/

    3. 拷贝核心的依赖组件:

    cp -r /usr/local/solr/server/lib/ext/* /solr/webapp/WEB-INF/lib/          //拷贝ext扩展开发包
    cp -r /usr/local/solr/server/lib/metrics-*.* /solr/webapp/WEB-INF/lib/       //拷贝检索依赖库
    cp -r /usr/local/solr/dist/solr-dataimporthandler-* /solr/webapp/WEB-INF/lib/   //拷贝数据导入依赖库
    cp /usr/local/solr/server/lib/http2-* /solr/webapp/WEB-INF/lib/           //拷贝Http2依赖库

    4. 为Home目录拷贝核心索引配置内容:

    cp -r /usr/local/solr/server/solr/* /solr/home/

    5. 在webapp中配置home目录:vim /solr/webapp/WEB-INF/web.xml

      》在头部位置追加:

    <env-entry>
        <env-entry-name>solr/home</env-entry-name>
        <env-entry-value>/solr/home</env-entry-value>
        <env-entry-type>java.lang.String</env-entry-type>
    </env-entry>

      》取消所有的安全配置项(先注释掉):

    <!--
      <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使用了log4j进行日志的定义,配置lo4j:

      》如果要使用所有的属性文件,按照WEB开发标准,这些文件应该放在“WEB-INF/classes”目录之中,创建此目录:

    mkdir -p /solr/webapp/WEB-INF/classes

      》将log4j文件拷贝到此目录:

    cp /usr/local/solr/server/resources/* /solr/webapp/WEB-INF/classes/

      》修改log4j2.xml配置文件日志输出位置:vim /solr/webapp/WEB-INF/classes/log4j2.xml

    %s/${sys:solr.log.dir}//solr/logs/g    //在命令行模式下,进行替换

    7. 在Tomcat中添加Solr的虚拟目录:vim /usr/local/tomcat/conf/server.xml

    <Context path="/solr" docBase="/solr/webapp"/>    //在<Host>节点中添加虚拟目录

    8. 启动Tomcat:

    /usr/local/tomcat/bin/catalina.sh stop
    /usr/local/tomcat/bin/catalina.sh start

    9. 通过浏览器进行访问:http://192.168.28.226/solr/index.html

     二、安全访问:现在Solr通过浏览器谁都可以访问,可以借助Tomcat设置用户名、密码

    1. 在Tomcat中设置用户名、密码:vim /usr/local/tomcat/conf/tomcat-users.xml

    <role rolename="solr"/>                      //角色
    <user username="solr" password="123456" roles="solr"/>   //用户信息

    2. 在Solr的配置问价中进行对应角色的设置:vim /solr/webapp/WEB-INF/web.xml

    <security-constraint>
        <web-resource-collection>
            <web-resource-name>Solr</web-resource-name>
            <url-pattern>/</url-pattern>
            <http-method>TRACE</http-method>
        </web-resource-collection>
        <auth-constraint>
            <role-name>solr</role-name>
        </auth-constraint>
    </security-constraint>
    <login-config>
        <auth-method>BASIC</auth-method>
        <realm-name>Solr-Realm</realm-name>
    </login-config>

    3. 配置完毕,进行Tomcat的重新启动:

    /usr/local/tomcat/bin/catalina.sh stop
    /usr/local/tomcat/bin/catalina.sh start

    4. 通过浏览器进行访问时需要登录:http://192.168.28.226/solr/index.html

    三、Core配置:

      虽然这个时候已经成功的实现了Solr工具的正确部署和配置,但是这个时候的Solr还无法为用户提供任何的检索服务的,应为没有所谓的Core存在,在Solr之中Core是整个的处理核心,功能就是进行数据的检索操作,但是如果没有进行任何的配置,是无法进行Core创建的,一旦创建会产错误。

    1. 为solr/home创建子目录:mkdir -p /solr/home/solr-core/conf

    2. 拷贝solr开发包:cp -r /usr/local/solr/server/solr/configsets/_default/conf/* /solr/home/solr-core/conf/

    3.拷贝core的依赖库:

    cp -r /usr/local/solr/contrib/ /solr/home/
    cp -r /usr/local/solr/dist/ /solr/home/

    4. 修改核心配置文件目录:vim /solr/home/solr-core/conf/solrconfig.xml

    %s/${solr.install.dir:../../../..}/${solr.install.dir:..}/g      //在命令行模式下进行替换

    5. 修改完毕,进行Tomcat的重新启动:

    /usr/local/tomcat/bin/catalina.sh stop
    /usr/local/tomcat/bin/catalina.sh start

    6. 浏览器进行访问:http://192.168.28.226/solr/index.html

      进行core的创建,以后core的名称尽量用“happy-core”这种格式。

  • 相关阅读:
    漫谈PID——实现与调参
    匿名上位机的使用(51版)
    #if 和 #ifdef 条件编译注意
    关于HC04超声波模块测距的思考(51版)
    关于C语言文件操作
    C语言实现简易2048小游戏
    关于OELD屏显示电池电量的简易方法
    使用notepad++作为keil的外部编辑器
    2017年个人总结
    数据存入文件
  • 原文地址:https://www.cnblogs.com/luliang888/p/11153681.html
Copyright © 2011-2022 走看看