zoukankan      html  css  js  c++  java
  • Solr04

    1 准备安装环境

    说明: 在企业项目开发中, 大多使用Tomcat服务器构建Solr服务.

    • 软件环境:

      l OS: macOS Sierra 10.12.6
      | Solr: 4.10.4
      l JDK: 1.8.0_131
      l Web服务器: Tomcat 7.0.82

    Solr需要运行在Servlet容器中, 且Solr 4.10.4要求JDK版本在1.7及以上.

    上传Solr安装包至/data/solr目录下, 并解压:

    mkdir -p /data/solr
    tar -zxf solr-4.10.4.tgz
    

    2 通过内部Jetty服务器启动

    Solr本身集成了Jetty服务器, 可直接启动运行:

    (1) 打开cmd命令/终端窗口, 进入Solr解压目录中的example目录.

    图片

    (2) 执行启动命令: java -jar start.jar, 等一小会儿, 发现cmd命令/终端窗口被阻塞了, 说明启动成功.

    (3) 启动成功, 访问: http://127.0.0.1:8983/solr

    图片

    3 通过配置Tomcat服务器启动

    这里将Tomcat拷贝至SolrHome所在工程(work)的同级目录下:

    mkdir -p /data/solr/tomcat  && cd /data/solr/tomcat
    # 将tomcat解压至此目录下
    tar -zxf apache-tomcat-7.0.82.tar.gz
    
    图片

    3.1 删除不需要的应用

    删除tomcat/webapps下的所有默认应用, 减少服务器启动时发布的项目, 防止通过Tomcat管理界面攻击Solr服务器.

    3.2 修改服务端口

    修改apache-tomcat-7.0.82/conf/server.xml文件(修改的目的是避免端口冲突).

    (1) 将Server port修改为“7005”:
    图片

    (2) 将HTTP/1.1的Connector port修改为“7070”:
    图片

    (3) 将AJP/1.3(服务器内部通信用)的Connector port修改为“7009”:
    图片

    3.3 部署solr.war

    (1) 找到Solr安装包example/webapps/solr.warWeb项目包, 解压缩:

    # 使用jar命令解压缩
    jar -xvf solr.war solr
    # 解压缩之后, 删除solr.war包, 防止Tomcat自动解压缩此包, 导致配置被覆盖
    rm -rf solr.war
    

    (2) 部署solr项目: 创建存放solr应用的目录, 并将解压后的solr.war拷贝至此目录下:

    cd /data/solr
    mkdir -p tomcat/display/solr
    # 将所有文件拷贝至solr目录下
    cp -r solr-4.10.4/example/webapps tomcat/display/solr
    

    (3) 使用Tomcat的虚拟目录安装: 这里没有将Solr服务添加到Tomcat的webapps目录下, 所以需要修改Tomcat的 $TOMCAT_HOME/conf/server.xml 文件, 添加Solr的服务路径:

    说明: 这里将Solr服务部署在 /data/solr/tomcat/display/solr 路径下.

    <Host name="localhost" appBase="webapps" 
          unpackWARs="true" autoDeploy="true">
        <!-- 配置访问路径, 效果为: http://ip:port/solr -->
        <Context path="/solr" privileged="true"
                 docBase="/data/solr/tomcat/display/solr"> 
            <Environment name="solr/home" type="java.lang.String" override="true"
                         value="/data/solr/tomcat/solrhome"/> 
        </Context> 
        <!-- ... ... -->
    </Host>
    

    参数说明:

    path: 指定访问该Web应用的名称, 即 http://ip:port/solr 中端口号之后的部分;
    docBase: 指定Web应用的文件路径, 如果是war包, 必须加上后缀;
    <Environment>节点就是设置solr/home的目录, 用来存放各个Collection的索引文件.

    (4) 配置其他文件:

    a. 拷贝Solr解压包下的log4j.properties文件至Solr服务的WEB-INF/classes下:

    cd /data/solr/tomcat
    mkdir -p display/solr/WEB-INF/classes
    cp /data/solr/solr-4.10.4/example/resources/log4j.properties  display/solr/WEB-INF/classes
    

    b. 拷贝Solr解压包下example/lib/ext中的所有jar包拷贝到Solr服务的WEB-INF/lib下:

    cp -r /data/solr/solr-4.10.4/example/lib/ext/*  display/solr/WEB-INF/lib
    

    c. 拷贝Solr解压包下example/solr/solr.xml到solrhome下(必须存在, 否则Solr服务将不能正常发布):

    cd /data/solr/tomcat && mkdir solrhome
    cp -r /data/solr/solr-4.10.4/example/solr/solr.xml solrhome
    

    d. 拷贝Solr解压包下的example/solr/collection1至tomcat目录下的collection中, 用作SolrCore的配置文件:

    cd /data/solr/tomcat
    cp -r /data/solr/solr-4.10.4/examplesolr/collection1 solrhome
    

    (5) 启动Tomcat服务:

    运行Tomcat安装bin目录中的startup.bat/startup.sh文件:

    sh startup.sh
    

    (6) 启动成功后的测试:

    在cmd命令/终端窗口看到Tomcat启动后, 访问 http://127.0.0.1:7070/solr, 如果能出现Solr Web页面, 说明单机版的Solr服务已经成功部署.

    注意: Solr4.0后将日志包作了抽取, 没有打包到solr.war中. 这里有两种方式加载这些包:

    ① 将example/lib/ext下的所有包复制到Solr的WEB-INF/lib目录下;
    ② 将这些包复制到Tomcat容器中的${TOMCAT_HOME}/lib下面(官网推荐).

    3.4 扩展: 虚拟目录发布Web项目的另一种思路

    将上述标签的所有内容单独建立为一个文件, 文件名为path的值;

    然后将文件放入 ${TOMCAT_HOME}/conf/Catalina/localhost/ 目录下;

    启动Tomcat时, 将自动加载此配置文件的信息, 启动Tomcat后, 直接访问path路径即可.

    4 配置多个SolrCore

    4.1 多SolrCore的好处

    (1) Solr工程对外通过SorlCore提供服务, 一个SolrCore相当于数据库中的一张表, 需要注意的是, 这个功能就相当于一个数据库中存在多张表;
    (2) 将索引数据分SolrCore存储,方便对索引数据管理维护;
    (3) 在多Shard和Replica中一个SolrCore只存储一张表的部分数据;
    (4) SolrCloud(Solr集群)中要用到多Core.

    4.2 配置步骤

    (1) 复制collection1(修改名称为collection2):
    图片

    (2) 修改core.properties文件中的名称(若使用solr的运行目录或UI管理页面创建core, 则无需设置此项):

      name=collection2
    

    (3) 重新启动Tomcat:
    图片

    版权声明

    作者: 马瘦风

    出处: 博客园 马瘦风的博客

    您的支持是对博主的极大鼓励, 感谢您的阅读.

    本文版权归博主所有, 欢迎转载, 但请保留此段声明, 并在文章页面明显位置给出原文链接, 否则博主保留追究相关人员法律责任的权利.

  • 相关阅读:
    JVM常量池
    Java内存分配之堆、栈和常量池
    Visual studio code快捷键
    spring 注解方式配置Bean
    Spring注解@Qualifier
    编程问题总结
    七天学会ASP.NET MVC (五)——Layout页面使用和用户角色管理
    七天学会ASP.NET MVC (六)——线程问题、异常处理、自定义URL
    七天学会ASP.NET MVC (四)——用户授权认证问题
    七天学会ASP.NET MVC (三)——ASP.Net MVC 数据处理
  • 原文地址:https://www.cnblogs.com/shoufeng/p/9483677.html
Copyright © 2011-2022 走看看