zoukankan      html  css  js  c++  java
  • CentOS7.5搭建Solr7.4.0单机服务

    一.Solr安装环境

    1.官方参考文档

    Solr教程参考指南:http://lucene.apache.org/solr/guide/7_4/solr-tutorial.html

    2.Solr运行环境

    系统要求:Java 8+      这里我们把solr服务部署到Tomacat服务器中,Tomcat安装过程参考:https://www.cnblogs.com/frankdeng/p/9597699.html

    在solr5以前solr的启动都有tomcat作为容器,但是从solr5以后solr内部集成jetty服务器,可以通过bin目录中脚本直接启动。就是从solr5以后跟solr4最大的区别是被发布成一个独立的应用。

    3.Solr下载

     下载地址:http://archive.apache.org/dist/lucene/solr/

    [admin@node21 software]$ wget http://archive.apache.org/dist/lucene/solr/7.4.0/solr-7.4.0.tgz
    [admin@node21 software]$ ll
    -rw-rw-r-- 1 admin admin 167346886 Jun 19 02:51 solr-7.4.0.tgz

    二.Solr单机安装

    1. 解压安装包

    [admin@node21 software]$ tar zxvf solr-7.4.0.tgz 
    [admin@node21 software]$ ls solr-7.4.0
    bin CHANGES.txt contrib dist docs example licenses LICENSE.txt LUCENE_CHANGES.txt NOTICE.txt README.txt server

    2.部署solr到tomcat下

    注意,这里因为我用的是solr7.4最新版,所以跟solr4版本要拷贝*.war文件,然后再启动tomcat解压的操作是不一样的 ,

    1)复制并重命名solr目录里的server/solr-webapp/webapp文件夹到/usr/local/tomcat8/webapps/solr

    [admin@node21 software]$ sudo cp -r solr-7.4.0/server/solr-webapp/webapp /usr/local/tomcat8/webapps/solr

    2)拷贝solr-7.4.0serverlibext 下的jar包以及lib目录下gmetric4j-1.0.7.jar和metrics开头的jar包拷贝到 tomcat8webappssolr 项目的WEB-INFlib下

    [admin@node21 software]$ sudo cp solr-7.4.0/server/lib/ext/* /usr/local/tomcat8/webapps/solr/WEB-INF/lib/
    [admin@node21 software]$ sudo cp solr-7.4.0/server/lib/gmetric4j-1.0.7.jar /usr/local/tomcat8/webapps/solr/WEB-INF/lib/
    [admin@node21 software]$ sudo cp solr-7.4.0/server/lib/metrics-*  /usr/local/tomcat8/webapps/solr/WEB-INF/lib/

    3)创建一个索引库solrhome

    拷贝solr-7.4.0server 下的solr文件夹到其它非中文目录下,重命名为solrhome,我是建立到了/usr/local/tomcat8/solrhome下

    [admin@node21 software]$ sudo cp -r solr-7.4.0/server/solr /usr/local/tomcat8/solrhome

    4)关联solr及索引库solrhome,需要修改tomcat里solr工程的web.xml文件

    [admin@node21 software]$ sudo vi /usr/local/tomcat8/webapps/solr/WEB-INF/web.xml 

    找到如下代码,打开注释,修改自己的solrhome的路径/put/your/solr/home/here,我的是 /usr/local/tomcat8/solrhome 路径。

    40   <!--
    41     <env-entry>
    42        <env-entry-name>solr/home</env-entry-name>
    43        <env-entry-value>/put/your/solr/home/here</env-entry-value>
    44        <env-entry-type>java.lang.String</env-entry-type>
    45     </env-entry>
    46    -->

    如下图:

    然后到最下方,将这一段注释掉,不然会报403错误,完成后保存退出(solr4部署不用注释这个)

    5)拷贝solr7.4.0server esources下的 log4j2.xml 到tomcat8/webapps/solr/WEB-INFclasses,如果WEB-INF下没有classes文件那么就创建一个classes文件夹 

    [admin@node21 tomcat8]$ sudo mkdir -p /usr/local/tomcat8/webapps/solr/WEB-INF/classes/
    [admin@node21 tomcat8]$ sudo cp -r /opt/software/solr-7.4.0/server/resources/log4j2.xml /usr/local/tomcat8/webapps/solr/WEB-INF/classes/

    6)修改tomcat的bin目录下catalina.bat脚本,增加solr.log.dir系统变量,指定solr日志记录存放地址。

    [root@node21 solr]# vi /usr/local/tomcat8/bin/catalina.sh 
    JAVA_OPTS="$JAVA_OPTS -Dsolr.log.dir=/usr/local/tomcat8/solrhome/logs"

    3.启动服务 

    启动tomcat,访问需要完整路径,我的是http://node21:8080/solr/index.html

    4.配置solr的索引库core

    1)点击Core Admin,接着点击Add Core这项,创建的instanceDir和dataDir 需存在,报错如下。(Solr里面的core就像数据库里面的一个表,用来管理索引和相关配置。)

    2)在索引库目录solrhome下创建new_core目录,拷贝配置文件到new_core目录下

    [admin@node21 tomcat8]$ su root
    [root@node21 tomcat8]$  mkdir /usr/local/tomcat8/solrhome/new_core 
    [root@node21 solrhome]$ cp -r /usr/local/tomcat8/solrhome/configsets/sample_techproducts_configs/conf  /usr/local/tomcat8/solrhome/new_core/

    然后重启tomcat服务,重新创建core成功

    5.配置IK中文分词器

    项目地址:https://github.com/magese/ik-analyzer-solr7

    内置的分词器不支持停用,扩展功能,ik中文分词器支持屏蔽关键词、新词汇的配置。下载地址:https://pan.baidu.com/s/1vxs98d440NSQIqjc50w1Rw,密码:9dbe

    解压分词器安装包

    [root@node21 software]# unzip ikanalyzer-solr6.5.zip  
    [root@node21 software]# lsikanalyzer-solr5 ikanalyzer-solr6.5.zip
    [root@node21 software]# ls ikanalyzer-solr5/
    ext.dic  IKAnalyzer.cfg.xml  ik-analyzer-solr5-5.x.jar  solr-analyzer-ik-5.1.0.jar  stopword.dic

    1)将IK分词器 JAR 包拷贝到Tomcat8webappssolrWEB-INFlib下

    [root@node21 ikanalyzer-solr5]# cp ik-analyzer-solr5-5.x.jar solr-analyzer-ik-5.1.0.jar /usr/local/tomcat8/webapps/solr/WEB-INF/lib/

    2)将词典 配置文件拷贝到 Tomcat8webappssolrWEB-INFclasses下

    [root@node21 ikanalyzer-solr5]# cp ext.dic IKAnalyzer.cfg.xml stopword.dic /usr/local/tomcat8/webapps/solr/WEB-INF/classes/

    3)更改在Tomcat8solr_hsolrhome ew_coreconf找到managed-schema配置文件,末尾添加以下保存

    [root@node21 ikanalyzer-solr5]# vi /usr/local/tomcat8/solrhome/new_core/conf/managed-schema 
    <!--IK中文分词器-->
     <fieldType name="text_ik" class="solr.TextField">  
            <analyzer type="index" useSmart="false"
                class="org.wltea.analyzer.lucene.IKAnalyzer" />
            <analyzer type="query" useSmart="true"
                class="org.wltea.analyzer.lucene.IKAnalyzer" />
    </fieldType> 

    4)重启tomcat服务,测试

    6. 停止服务

    如果要关闭solr服务,直接关闭tomcat就可以了。

    三.Solr集群版

    solr集群搭建参考:https://www.cnblogs.com/frankdeng/p/9597680.html#top 

    四.安装过程问题 

    1.警告Max Processes Limit

    最大限制用户进程数,个人电脑低配,由于系统需要更改设置

    查看个人最大限制用户进程数 ulimit -u

    [root@node21 software]# vi /etc/security/limits.conf
    末尾添加如下两行信息,保存退出,重新登录生效
    * soft nproc 65535
    * hard nproc 65535

    或者根据官网的建议,在solr.in.sh中设置SOLR_ULIMIT_CHECKS=false 。

    官方老版本solr整合tomcat安装过程参考: https://wiki.apache.org/solr/SolrTomcat

  • 相关阅读:
    PHP microtime() 函数
    PHP localtime() 函数
    PHP idate() 函数
    PHP gmstrftime() 函数
    Orchestrator安装
    [BJOI2017]开车
    cant found Microsoft.VSSDK.BuildTools.15.0.26201
    如何移动 nuget 缓存文件夹
    如何移动 nuget 缓存文件夹
    如何移动 nuget 缓存文件夹
  • 原文地址:https://www.cnblogs.com/frankdeng/p/9615253.html
Copyright © 2011-2022 走看看