單機版solr6.3和分布式solr6.3的安裝部署


一、單機版的solr部署

我的是在windows下安裝的,linux同理

1. 安裝JDK8,並配置好環境變量,一般我們經常開發的電腦上應該都有JDk了,所以這一步可以忽略。

2. 解壓solr6.3

3. 拷貝分詞相關JAR包到你solr目錄下的server\solr-webapp\webapp\WEB-INF\lib中,如:ansj-seg.jar  nlp-lang.jar等

4.在文件夾中創建solr core:

在solr目錄下的server/solr下創建一個文件夾collection,一般是復制已有的collection,然后編輯collection文件夾下conf配置文件中的schema.xml,里面就是你的表結構(包括:字段,分詞包引入,字段類型,拷貝字段,動態字段等)

因為solr版本是6.3,因此不需要用tomcat建立服務器。

5.開啟solr:

在cmd命令下輸入

cd sorl/solr-6.3.0/bin/solr start -f

6.在瀏覽器中輸入solr地址,在界面上創建core:

如:192.168.1.100:8983/solr/admin

打開后顯示solr 界面:

 

 

在solr界面中選中Core Admin 然后點擊Add Core 

輸入:

core的名字 (collection)

data的路徑(默認在server/solr/collection/)

配置文件schema的名字(默認為schema.xml 或者schema)

注意:如果有managed-schema文件,應該將他重命名為schema.xml,當創建好core后系統會生成一個managed-schema和schema.xml.bak文件

solr配置文件的名字solrConfig.xml

 

 填寫完畢重啟solr即可


其它命令:
$ bin/solr start -f 前台運行
$ bin/solr start -p 8984 指定端口 默認8983
$ bin/solr stop -p 8983 關閉solr,如果不指定端口,可用-all關閉單機上所有實例
$ bin/solr status 當前服務器上solr運行狀態

 

一、 單機版tomcat下安裝solr

 

一、 環境

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

jdk 1.7,1.8 

tomca,7,8

二、 安裝solr到tomcat

1.  解壓solr ,把 solr\solr-6.3.0\server\solr-webapp下的 webapp 文件夾拷貝到tomcat 的webapps下,重命名為solr,也可以是其他名字;

  ( 注意,此處有的教程錯誤的將solr-webapp文件夾進行拷貝,這會導致solr啟動不了)

2. 拷貝solr-6.3.0\server\lib\ext 下的jar包到 tomcat\webapps\ 下solr 項目的WEB-INF\lib下;拷貝solr-6.3.0\dist 下solr-dataimporthandler jar 包,solr-dataimporthandler-extras-6.3.0.jar 包 到 tomcat\webapps\ 下solr 項目的WEB-INF\lib下

3. 拷貝solr-6.3.0\server 下的solr文件夾到E盤或其它非中文目錄下,重命名為solrhome;

4. 修改tomcat\webapps\ solr(solr的項目名)\WEB-INF\web.xml, 找到如下代碼,去掉注釋,/put/your/solr/home/here 改為你自己的solrhome的路徑,         如:E:/solr-home

<env-entry>
       <env-entry-name>solr/home</env-entry-name>
       <env-entry-value>E:/solr-home</env-entry-value>
       <env-entry-type>Java.lang.String</env-entry-type>
    </env-entry>

5. 拷貝solr-6.3.0\server\resources下的log4j.properties到tomcat\webapps\solr\WEB-INF\classes,如果WEB-INF下沒有classes文件那么就創建一個classes文件夾。

6. 啟動tomcat, 輸入http://localhost:8983/solr/index.html (solr默認端口為8983)

啟動solr用cmd指令:

 

看到如下界面:

 

三、添加第一個core

  • 進入到D:\solr\solr-6.3.0\server\solr下,新建一個文件夾:cores  
    這里寫圖片描述
    1 進入到server\solr\configsets\sample_techproducts_configs 文件夾,將此文件夾下的conf 目錄拷貝到剛剛建立的core的文件夾下,即我的cores文件夾下

  • 2  在瀏覽器中輸入http://localhost:8983/solr/index.html,進入solr管理頁面,點擊左側的add core,在name 和instanceDir下都輸入cores(在步驟1中取得名稱) ,點擊add core即可 
    這里寫圖片描述

      -此時再輸入http://localhost:8983/solr/index.html, 在左側即可看見剛剛建立的core 

  • 然后在進入到\cores目錄,此時會發現多了一個data文件夾和一個properties文件,如圖:

data目錄,用於存儲索引文件,core.properties文件用於存放core的配置信息

到此solr的搭建,以及第一個core的就到此結束了

 

二、分布式solr部署

 

1.部署 zookeeper

1)下載zookeeper3.4.6,分別在三台機器上(192.168.2.124,192.168.2.125,192.168.2.126)解壓,路徑為: /home/zookeeper-3.4.6
2)配置 zookeeper/conf/zoo.cfg,如:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/home/zooData
#log目錄,建議和data目錄分開存儲
dataLogDir=/home/zooData  

#注:這里的home一般是linux下的home,我們也可以選其他文件路徑如:/data
# the port at which the clients will connect
clientPort=2181
server.1=192.168.2.124:2888:3888
server.2=192.168.2.125:2888:3888
server.3=192.168.2.126:2888:3888
注:上面三個是集群服務器的地址
3)在所有zookeepr服務器dataDir目錄增加myid文件,寫對應服務器編號1、2...


2 部署solrCloud

分別在三台機器上(192.168.2.124,192.168.2.125,192.168.2.126)解壓,路徑為: /home/solr/solr-6.3.0
1)修改 bin/solr.in.sh ,主要修改以下配置:
ZK_HOST="192.168.2.124:2181,192.168.2.125:2181,192.168.2.126:2181"
SOLR_HOST="192.168.2.126" #不修改默認為localhost,會導致其它節點無法啟動
SOLR_TIMEZONE="Asia/Shanghai"
SOLR_HOME=/home/solr/solrData


2)上傳solr.xml到zookeeper
./server/scripts/cloud-scripts/zkcli.sh -zkhost 127.0.0.1:2181 -cmd putfile /solr.xml /home/solr/solrData/solr.xml


3) bootstrap solrCloud
./server/scripts/cloud-scripts/zkcli.sh -zkhost 127.0.0.1:2181 -cmd bootstrap -solrhome /home/solr/solrData


3.集群啟動,創建collection,修改配置,
1)、ZooKeeper的集群啟動(124,125,126,同時啟動)
/home/zookeeper-3.4.6/bin/zkServer.sh start


2)、solr啟動
/home/solr/solr-6.3.0/bin/solr start -force
/home/solr/solr-6.3.0/bin/solr start status(查看啟動狀態)
4、修改schema文件
1).添加字段,修改managed-schema文件(兩種方式:1.直接在linux vim下編輯;2.在本機編輯好后傳輸到對應位置如:/home/collections/collection1/conf/managed-schema)

注:如果需要新的解析包不僅需要改字段,同時要引入solrConfig.xml中的lib
solrConfig.xml中
<!-- 啟用icu分析包
<lib dir="${solr.install.dir:../../../..}/contrib/analysis-extras/lib/" regex=".*\.jar" />
-->
2).上傳config,linux下執行如下命令:
/home/solr/solr-6.3.0/server/scripts/cloud-scripts/zkcli.sh --zkhost 127.0.0.1:2181 -cmd upconfig -confname collectionY -confdir /home/collections/collectionY_configs/conf
注:collectionY指的是solr中collection的configName;
collectionY_configs指得是指定的配置文件所在文件夾,里面的schema.xml是字段和類型配置文件


5.collection的創建,在瀏覽器中執行
http://192.168.2.124:8983/solr/admin/collections?action=CREATE&name=collection1&collection.configName=collectionY&numShards=3&replicationFactor=1&createNodeSet=192.168.2.124:8983_solr,192.168.2.125:8983_solr,192.168.2.126:8983_solr&maxShardsPerNode=2
注:collection1指的是solr中創建的collection名稱;collectionY指的是solr中collection1的configName;


6.更新collection
http://192.168.2.124:8983/solr/admin/collections?action=RELOAD&name=collection1


7.刪除collection
http://192.168.2.124:8983/solr/admin/collections?action=DELETE&name=collection1


8 配置中文分詞插件(優先選用ansj)
1 ansj插件
1)安裝插件
在每台solr服務器上,將ansj_seg-5.1.0.jar nlp-lang-1.7.2.jar nutz-1.r.58.jar ansj-seg-solr6.jar拷貝到server/solrwebapp/webapp/WEB-INF/lib
2)schema配置
<fieldType name="text_cn" class="solr.TextField" positionIncrementGap="100">
  <analyzer type="index">
    <tokenizer class="*.*.*.solr.AnsjTokenizerFactory" isQuery="false" />
  </analyzer>
  <analyzer type="query">
    <tokenizer class="*.*.*..solr.AnsjTokenizerFactory" />
  </analyzer>
</fieldType>

該文章是原創,轉載請注明來源:http://www.cnblogs.com/Lxiaojiang/p/6737323.html


免責聲明!

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



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