solr6.5 的安裝與配置


 

運行環境:

  • JDK:    1.8.0_131
  • Tomcat: 9.0.0.M21
  • Solr:      6.5.1

注:1.建議打開兩個連接linux的窗口,一個負責 solr壓縮目錄,另外一個負責tomcat下的目錄,這樣在使用過程中就不需要來回切換路徑。

  2.以下的Solr所有配置在Window中一樣適用,除了操作文件的過程需要命令外,其他沒有任何不同。

  3.在操作前請先將用戶切換到root,否則有些操作可能不成功。或者在操作的每個命令前 加上sudo。如創建文件夾命令:sudo mkdir solr

  4.如果可以請將solr運行在solr自帶的Jetty服務器內, 在solr 5.21之后已經刪除war包。有興趣可以看看Solr的wiki說明: Why No War

開始之前先說明后面目錄結構代表的意思:

  1. <tomcat>: 指Tomcat的安裝目錄。  

  2. <solrhome>: 存放 home、contrib、dist三個文件夾的目錄

  3. <solr>:  Tomcat的webapps文件夾內的web應用 solr

  4. <solr-6.5.1>:解壓solr壓縮包之后的目錄

例如: Tomcat的webapps文件夾內的 solr表示為: <tomcat>/webapps/solr/ 

第一步:

首先下載Solr,然后將  .tgz 格式的壓縮文件,上傳到 linux系統中,我這里使用的軟件是SecureFX,也可以使用WinSCP。看個人喜好,只要能上傳文件到linux即可。

  1. 使用linux的  ll 命令查看當前目錄下的所有文件,當看到目錄下有 solr-6.5.1.tgz時候說明上傳成功。

 

2. 當前目錄解壓Solr,使用命令:

1 tar -zxvf solr-6.5.1.tgz

執行命令之后就可以看到 solr-6.5.1文件夾了

  

  現在可以通過  cd ./solr-6.5.1/  命令,進入文件夾

   上面是solr-6.5.1目錄的結構,紅色指引是后面會需要用到的目錄

3. 切換到 Tomcat安裝目錄,進入 <tomcat>/webapps/ 目錄內創建 solr文件夾

1 mkdir solr

 

接着在 <solr-6.5.1> 目錄內,執行以下命令

1 cp -rf ./server/solr-webapp/webapp/* /opt/tomcat-solr/webapps/solr/

將 <solr-6.5.1>/server/solr-webapp/webapp/ 內的所有文件復制到  <tomcat>/webapps/solr/ 

當看到solr目錄中 多出了如下文件復制成功。

   熟悉的 首頁 index.xml 和 WEB-INF web安全目錄。

 

4.  接着進入 <solr-6.5.1>/server/lib 目錄內, 可以看到眾多的依賴包,雖然很多但是我們只需要其中幾個而已

我們只需要 metrics 開頭的jar文件即可。現在執行如下命令 

1 cp metrics-core-3.1.2.jar metrics-ganglia-3.1.2.jar metrics-graphite-3.1.2.jar metrics-jvm-3.1.2.jar /opt/tomcat-solr/webapps/solr/WEB-INF/lib/ 
2 cp ./ext/* /opt/tomcat-solr/webapps/solr/WEB-INF/lib/

拷貝 metrics 開頭的文件中 除了metrics-jetty9-3.1.2之外的其他文件到  <tomcat>/webapps/solr/ 目錄內

拷貝 ext 文件夾下的所有文件到 <tomcat>/webapps/solr/ 目錄內

然后在 <tomcat>/webapps/solr/WEB-INF/ 下創建java文件的編譯目錄 classes

1 mkdir classes

 現在WEB-INF 下的結構如下

進入 <solr-6.5.1>/server/resources/ 目錄下,將日志的配置文件復制  <tomcat>/webapps/solr/WEB-INF/classes/ 

1 cp ./log4j.properties /opt/tomcat-solr/webapps/solr/WEB-INF/classes/

   上面是復制了 日志配置文件之后的 classes目錄。solr web應用暫時配置完成,開始第二步。

  第二步:

1. 在 <tomcat>  根目錄內創建solrhome文件夾 用於存放 solr的功能模塊需要的庫、solr jar文件、以及 solr的主目錄(home)

創建solrhome文件夾

1 mkdir solrhome   

當然也可以在其他地方創建沒有強制一定要放在 Tomcat 根目錄下

復制 <solr-6.5.1> 根目錄下的dist、contrib 兩個文件夾

1 cp -rf ./dist/ ./contrib/ /opt/tomcat-solr/solrhome/

注:如果到現在還是只開着一個linux命令窗口,那么你會發現在兩個路徑切換是多么麻煩的一件事情。所以請打開兩個窗口。

在 <tomcat>/solrhome/ 內創建 home文件加,home文件是solr的主目錄。用於存放solr核心 core

1 mkdir home

這時候solrhome文件目錄結構如下

 

2. 復制 <solr-6.5.1>/server/solr/ 內的所有文件到  <tomcat>/solrhome/home/ 內

1 cp -rf ./server/solr/* /opt/tomcat-solr/solrhome/home/

   home目錄結構如下

 

   繼續在home文件夾下創建第一個核心 mycore(名稱隨意)

1 mkdir mycore

home目錄結構如下

 

再復制 <solr-6.5.1>/example/example-DIH/solr/solr/ 內所有核心core的配置文件到   <tomcat>/solrhome/home/mycore/  目錄下

1 cp -rf example/example-DIH/solr/solr/* /opt/tomcat-solr/solrhome/home/mycore/

   現在mycore的文件夾結構如下

core.properties可以設置 新的核心名稱

如:name=myCore1

不設置默認顯示 文件夾名稱, 下一步 進入conf文件夾下配置屬性文件

3. 修改功能模塊地址和sorl jar文件地址, 這里以 <tomcat>/solrhome/ 目錄為例(如果你安裝其他目錄,請參考目錄設置文件中的地址),我使用的vim編輯器,先打開solrconfig.xml 

1 vim solrconfig.xml 

移動光標到 路徑上,然后進入vim 可視化模式 Ctrl+v 模式。選中的部分為高亮。按d鍵刪除多行

修改后結果如下

每個核心core都有一個 存放索引文件和日志的目錄 data

如果有需要修改,可以在下圖位置修改data路徑

默認在核心core根目錄下,如果不使用默認路徑可以修改為存放data的路徑 例如:

注:如果此處編輯之后無法保存,那么你可能不是用root權限打開。

4. 好了,solrhome的設置基本完成,那么最后就是關聯 solr web應用和 home目錄(不是solrhome)

打開 <tomcat>/webapps/solr/WEB-INF/ 目錄下的web.xml配置文件

 修改entry地址如下

 

注:1.此處使用的是我自己設置的 home目錄,所以設置路徑時候 根據個人設置的 home 路徑設置配置文件

      2.記得打開 <!-- --> 注釋

      3.是home路徑 不是 solrhome。home文件下存儲的是核心core

然后跳到web.xml配置文件最后。注釋掉一下兩個標簽

如果不注釋,那么訪問solr的時候會出現一下錯誤:

  •  HTTP Status 403 - Access to the requested resource has been denied:拒絕訪問

 

最后一步

進入 <tomcat>/bin/ 目錄執行  ./startup.sh  命令,啟動Tomcat

當出現 Tomcat started時候 說明tomcat已經啟動成功了。

注:如訪問solr不成功,可以執行  ./catalina.sh run ,命令窗口就可以打印出執行的信息(有時執行./startup.sh命令 並不會出現執行信息)。 

這時候就可以訪問solr試試

 

當出現以上界面,說明 solr可以訪問了。上圖也顯示了 創建了核心 core,如果需要可以在home下創建多個和核心core。

注:訪問solr時候在網址后面需要添加 /index.html路徑否則無法訪問。web.xml中已經設置了 歡迎頁面是 index.html依然無法訪問solr。出現該問題原因,應該是solr版本問題,在舊版本中,將solr部署到Tomcat下可以成功的訪問(5.2.1之前solr還有war包)。如果直接將solr運行在自帶的Jetty服務器內,可以通過 http://localhost/solr  地址直接訪問,不需要添加 /index.html。所以可以的話請將solr運行在自帶的Jetty服務器上,以避免出現不可預知的情況。

總結:

  solr部署,簡單點說就是一下兩點:

    一:webapps中創建好solr web應用,包括solr的依賴包和擴展jar文件等

    二:創建solrhome目錄,保存 模塊功能和solr的jar包 以及home主目錄

  最后將solr web應用和solrhome目錄關聯即可。

 至此solr在linux中的安裝完成, 文章有很多不足的地方,歡迎大家指正。謝謝!


免責聲明!

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



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