solr5.2.1+tomcat8.0.23+zookeeper3.4.6 安裝與配置

jopen 9年前發布 | 26K 次閱讀 Solr 搜索引擎

    

    提示:

    1.本文中用到的solr,tomcat,zk都是相對于此博客最新的版本,solr的每個大版本的變更都無法完美的向前兼容,所以這次的solr5和solr4也是一樣。

   2.本次是在一臺機器上部署3個zk,4個tomcat,所以端口會有相應的改變(俗稱偽集群)



  • 首先下載相應的包zookeeper-3.5.0-alpha.tar.gz,apache-tomcat-8.0.23.tar.gz,solr-5.2.1.tgz
  • 創建目錄結構,我是按照如下的目錄結構組織,大家可以按照自己的喜好

        1.建立solrcloud文件夾

chensideMacBook-Pro:solrcloud chaney$ pwd
/Users/chaney/solrcloud

        2.solrcloud下面目錄結構為

chensideMacBook-Pro:solrcloud chaney$ ls
service1    service2    service3    tomcat1 tomcat2 tomcat3 tomcat4

        3.service中是zk的目錄,三個目錄結構一樣,目錄結構為

chensideMacBook-Pro:service1 chaney$ ls
data            datalog         logs            zookeeper-3.5.0-alpha


  • zk的相應操作

        1.進入zk的conf目錄

/Users/chaney/solrcloud/service1/zookeeper-3.5.0-alpha/conf
        

         2.新建zoo.cfg并編輯此文件,文件內容如下(或者將zoo_sample.cfg改為zoo.cfg)

initLimit=5
syncLimit=2
clientPort=2181(由于在同一臺機器上面部署所以每個service的clientPort不能一樣) 
tickTime=2000
dataDir=/Users/chaney/solrcloud/service1/data
dataLogDir=/Users/chaney/solrcloud/service1/datalog
server.1=localhost:2888:3888(此處也一樣,端口號不能一樣)
server.2=localhost:2889:3889 
server.3=localhost:2890:3890


        3.分別啟動三臺zk


chensideMacBook-Pro:solrcloud chaney$ sh service2/zookeeper-3.5.0-alpha/bin/zkServer.sh start(啟動) 
Using config: /Users/chaney/solrcloud/service2/zookeeper-3.5.0-alpha/bin/../conf/zoo.cfg
-n Starting zookeeper ...
STARTED

chensideMacBook-Pro:solrcloud chaney$ sh service2/zookeeper-3.5.0-alpha/bin/zkServer.sh status(查看狀態) 
JMX enabled by default
Using config: /Users/chaney/solrcloud/service2/zookeeper-3.5.0-alpha/bin/../conf/zoo.cfg
Client port found: 2182(跟service1不一樣) 
Mode: leader(說明service2是leader)





  • tomcat相應的操作

    1.解壓solr(任意目錄)

    2.將解壓后的solr.war拷貝到tomcat的webapps下面

chensideMacBook-Pro:webapps chaney$ cp /Users/chaney/solr/server/webapps/solr.war /Users/chaney/solrcloud/tomcat1/webapps



    3.解壓solr.war


    4.將solr中的jar包拷貝到tomcat下面

chensideMacBook-Pro:WEB-INF chaney$ cp -r /Users/chaney/solr/server/lib/ext/* /Users/chaney/solrcloud/tomcat1/webapps/solr/WEB-INF/lib/



    5.編輯tomcat中solr項目的web.xml文件,  找到env-entry節點,編輯為以下內容


chensideMacBook-Pro:WEB-INF chaney$ pwd
/Users/chaney/solrcloud/tomcat1/webapps/solr/WEB-INF
chensideMacBook-Pro:WEB-INF chaney$ vi web.xml




 
<env-entry>
       <env-entry-name>solr/home</env-entry-name>
       <env-entry-value>/Users/chaney/solr_home</env-entry-value>(solr的用戶目錄,用于存儲索引等,接下來會介紹,每個tomcat需要不一樣的路徑)        
       <env-entry-type>java.lang.String</env-entry-type>
</env-entry>





    6.將solr解壓中的log4j文件拷貝到tomcat中(solr5將日志抽離了出來,上面的第4步也包含log的一些jar)


chensideMacBook-Pro:classes chaney$ cp /Users/chaney/solr/server/resources/log4j.properties /Users/chaney/solrcloud/tomcat1/webapps/solr/WEB-INF/classes/(classes文件夾需要新建)



  • solr_home的操作

    1.針對四個tomcat(每一個tomcat跑一個solr)新建四個solr_home

drwxr-xr-x   9 chaney  staff     306  7 29 17:27 solr_home/
drwxr-xr-x   8 chaney  staff     272  7 29 17:27 solr_home2/
drwxr-xr-x   9 chaney  staff     306  7 29 17:27 solr_home3/
drwxr-xr-x   8 chaney  staff     272  7 29 17:27 solr_home4/



    2.將解壓后的solr中文件拷貝到solr_home


cp -r /Users/chaney/solr/server/solr/* /Users/chaney/solr_home/



    拷貝后的內容如下:


chensideMacBook-Pro:solr_home2 chaney$ ll
total 24
drwxr-xr-x   8 chaney  staff   272  7 29 17:27 ./
drwxr-xr-x@ 47 chaney  staff  1598  7 30 11:20 ../
-rw-r--r--@  1 chaney  staff  3037  7 29 13:22 README.txt
drwxr-xr-x@  5 chaney  staff   170  7 29 13:22 configsets/
-rw-r--r--@  1 chaney  staff  1887  7 29 13:26 solr.xml
-rw-r--r--@  1 chaney  staff   501  7 29 13:22 zoo.cfg


    3.修改solr.xml


chensideMacBook-Pro:solr_home chaney$ pwd
/Users/chaney/solr_home
chensideMacBook-Pro:solr_home chaney$ vi solr.xml



    改成如下內容:


<solr>
  <solrcloud>
    <str name="host">${host:}</str>
    <int name="hostPort">${jetty.port:9091}</int>(修改成你當前的tomcat的運行端口,每個solr_home對應的tomcat端口不一樣,當然是在偽集群的情況下,如果你是多臺機器的話請忽略) 
    <str name="hostContext">${hostContext:solr}</str>
    <bool name="genericCoreNodeNames">${genericCoreNodeNames:true}</bool>
    <int name="zkClientTimeout">${zkClientTimeout:30000}</int>
    <int name="distribUpdateSoTimeout">${distribUpdateSoTimeout:600000}</int>
    <int name="distribUpdateConnTimeout">${distribUpdateConnTimeout:60000}</int>
  </solrcloud>
  <shardHandlerFactory name="shardHandlerFactory"
    class="HttpShardHandlerFactory">
    <int name="socketTimeout">${socketTimeout:600000}</int>
    <int name="connTimeout">${connTimeout:60000}</int>
  </shardHandlerFactory>
</solr>





    4.新建配置文件目錄(用于zk的集群配置管理),我是直接在solr_home中新建一個collection1文件夾,如下


chensideMacBook-Pro:collection1 chaney$ pwd
/Users/chaney/solr_home/collection1(此文件夾只需要建一個,不需要在每個機器上建,他會通過zk分發到各個機器)




   5.拷貝solr解壓后的配置文件到collection1中


chensideMacBook-Pro:collection1 chaney$ cp -r /Users/chaney/solr/server/solr/configsets/basic_configs/* /Users/chaney/solr_home/collection1/




    拷貝后的內容如下:

chensideMacBook-Pro:collection1 chaney$ ls
conf
chensideMacBook-Pro:collection1 chaney$ cd conf/
chensideMacBook-Pro:conf chaney$ ls
_rest_managed.json  lang            schema.xml      stopwords.txt
currency.xml        protwords.txt       solrconfig.xml      synonyms.txt



    6.修改tomcat的文件catalina.sh文件


chensideMacBook-Pro:bin chaney$ pwd
/Users/chaney/solrcloud/tomcat1/bin
chensideMacBook-Pro:bin chaney$ vi catalina.sh



    加入如下內容:


JAVA_OPTS="$JAVA_OPTS -DzkHost=localhost:2181,localhost:2182,localhost:2183 -Dbootstrap_confdir=/Users/chaney/solr_home/collection1/conf -Dcollection.configName=myconf



    在其他的tomcat中只需要加入以下內容:


JAVA_OPTS="$JAVA_OPTS -DzkHost=localhost:2181,localhost:2182,localhost:2183



  • 最后的步驟

    1.依次啟動zk和tomcat,開始啟動zk的時候會有各種報錯,沒關系,因為zk是2n+1的機制,當你依次啟動好了就可以了。

    2.訪問http://localhost:9091/solr/,按照正常情況來說應該出現以下的界面solr5.2.1+tomcat8.0.23+zookeeper3.4.6 安裝與配置    3.創建一個solr的collection

http://localhost:9091/solr/admin/collections?action=CREATE&name=eSearch&numShards=3&replicationFactor=3&maxShardsPerNode=3&collection.configName=myconf



    按照正常情況應該出現以下界面

solr5.2.1+tomcat8.0.23+zookeeper3.4.6 安裝與配置

        cloud中tree目錄如下圖

solr5.2.1+tomcat8.0.23+zookeeper3.4.6 安裝與配置

        4.刪除一個collection



http://localhost:9092/solr/admin/collections?action=DELETE&name=eSearch


來自:http://my.oschina.net/u/942651/blog/485783

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!