solr6.5 的安裝與配置

 

運行環境:html

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

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

  2.如下的Solr全部配置在Window中同樣適用,除了操做文件的過程須要命令外,其餘沒有任何不一樣。linux

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

  4.若是能夠請將solr運行在solr自帶的Jetty服務器內, 在solr 5.21以後已經刪除war包。有興趣能夠看看Solr的wiki說明: Why No Warapache

開始以前先說明後面目錄結構表明的意思:vim

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

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

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

  4. <solr-6.5.1>:解壓solr壓縮包以後的目錄app

例如: 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中的安裝完成, 文章有不少不足的地方,歡迎你們指正。謝謝!

相關文章
相關標籤/搜索