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.0\server\lib\ext 下的jar包以及lib目錄下gmetric4j-1.0.7.jar和metrics開頭的jar包拷貝到 tomcat8\webapps\solr 項目的WEB-INF\lib下

[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.0\server 下的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.0\server\resources下的 log4j2.xml 到tomcat8/webapps/solr/WEB-INF\classes,如果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 包拷貝到Tomcat8\webapps\solr\WEB-INF\lib下

[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)將詞典 配置文件拷貝到 Tomcat8\webapps\solr\WEB-INF\classes下

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

3)更改在Tomcat8\solr_h\solrhome\new_core\conf找到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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM