solrcloud+zk+tomcat 詳細配置

破棉襖發表於2014-10-21

版本:

solr    4.9.0

zookeeper    3.4.5

tomcat    7.0.42



ZK、tomcat安裝過程省略

OK開始

1.解壓 solr-4.9.0的壓縮包,並且把solr-4.9.0/example/webapps/solr.war解壓至/usr/local/solr目錄下

2.把 solr-4.8.1\example\lib\ext下的 jar包放到solr\WEB-INF\lib下

3.以 192.168.0.237為例,建立以下目錄
    1) mkdir -p /usr/local/solrcloud/config-files
     2) 
mkdir -p /usr/local/solrcloud/solr-lib 

4.把 solr/WEB-INF/lib下的所有 jar包複製到/usr/local/solrcloud/solr-lib目錄

    cp -av /usr/local/solr/WEB-INF/lib/*.jar /usr/local/solrcloud/solr-lib

5.solr/example/solr/collection1/conf下的所有檔案複製到 /usr/local/solrcloud/config-files目錄
  cp -av /usr/local/solr/example/solr/collection1/conf/*/usr/local/solrcloud/config-files/

6.將 /usr/local/solr目錄複製到 /usr/local/apache-tomcat-7.0.42/webapps目錄下面
   cp -av /usr/local/solr /usr/local/apache-tomcat-7.0.42/webapps

7.建立 solr的資料目錄 /usr/local/solr-cores 並在該目錄下生成 solr.xml,這是 solr 的核心配置檔案原始的配置檔案如下 

點選(此處)摺疊或開啟

  1. <?xml version=\"1.0\"encoding=\"UTF-8\" ?>
  2. <solr persistent=\"true\">
  3. <logging enabled=\"true\">
  4. <watcher size=\"100\"threshold=\"INFO\" />
  5. </logging>
  6. <cores defaultCoreName=\"collection1\"adminPath=\"/admin/cores\"host=\"${host:}\"hostPort=\"8080\"hostContext=\"${hostContext:solr}\"zkClientTimeout=\"${zkClientTimeout:15000}\">
  7. </cores>
  8. </solr>
8. 建立/usr/local/apache-tomcat-7.0.42/conf/Catalina目錄和/usr/local/apache-tomcat-7.0.42/conf/Catalina/localhost目錄
   1) mkdir -p /usr/local/apache-tomcat-7.0.42/conf/Catalina
   2) 
mkdir -p /usr/local/apache-tomcat-7.0.42/conf/Catalina/localhost 

9.在 /usr/local/apache-tomcat-7.0.54/conf/Catalina/localhost下建立 solr.xml檔案,此檔案為Solr/home的配置檔案    

點選(此處)摺疊或開啟

  1. <?xml version=\"1.0\"encoding=\"UTF-8\"?>
  2. <Context docBase=\"/usr/local/tomcat7/webapps/solr\"debug=\"0\"crossContext=\"true\">
  3. <Environment name=\"solr/home\"type=\"java.lang.String\"value=\"/usr/local/solr-cores\"override=\"true\"/>
  4. </Context>

10.修改 tomcat/bin/cataina.sh ,加入以下內容  

點選(此處)摺疊或開啟

  1. JAVA_OPTS=\'-Djetty.port=8080 -Dsolr.solr.home=/usr/local/solr-cores -DzkHost=NN:2181,DN1:2181,dn2:2181\'

11. 將solr/example/resources/log4j.properties  複製到  /tomcat/webapps/solr/WEB-INF/classes/
    cp solr/example/resources/log4j.properties  /tomcat/webapps/solr/WEB-INF/classes/


12.將以上配置同步到其他兩臺伺服器

點選(此處)摺疊或開啟

  1. scp -r /usr/local/apache-tomcat-7.0.54 solr@DN1:/usr/local
  2. scp -r /usr/local/solrcloud solr@DN1:/usr/local
  3. scp -r /usr/local/solr-cores solr@DN1:/usr/local
  4. scp -r /usr/local/apache-tomcat-7.0.54 solr@DN2:/usr/local
  5. scp -r /usr/local/solrcloud solr@DN2:/usr/local
  6. scp -r /usr/local/solr-cores solr@DN2:/usr/local
13.SolrCloud是透過 ZooKeeper叢集來保證配置檔案的變更及時同步到各個節點上,所以,需要將配置檔案上傳到ZooKeeper叢集中:執行如下操作(以下ip均可使用域名進行操作)

點選(此處)摺疊或開啟

  1. java -classpath .:/usr/local/solrcloud/solr-lib/* org.apache.solr.cloud.ZkCLI -cmd upconfig -zkhost NN:2181,DN1:2181,DN2:2181 -confdir /usr/local/solrcloud/config-files/ -confname myconf

14.校驗 zookeeper的配置檔案

點選(此處)摺疊或開啟

  1. cd /usr/local/zookeeper-3.4.5/bin
  2. /zkCli.sh -server 192.168.0.112:2181
  3. [zk: 192.168.01.2:2181(CONNECTED)0] ls /
  4. [configs, collections, zookeeper]
  5. [zk: 192.168.01.2:2181(CONNECTED)1] ls /configs
  6. [myconf]
  7. [zk: 192.168.01.2:2181(CONNECTED)2] ls /configs/myconf
  8. [admin-extra.menu-top.html, currency.xml, protwords.txt,mapping-FoldToASCII.txt, solrconfig.xml, lang, stopwords.txt, spellings.txt, mapping-ISOLatin1Accent.txt, admin-extra.html, xslt, scripts.conf, synonyms.txt, update-script.js, velocity, elevate.xml, admin-extra.menu-bottom.html, schema.xml]
  9. [zk: 192.168.01.2:2181(CONNECTED)3]

15.依次啟動tomcat,出現solr UI  

OK成功

    

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29754888/viewspace-1306255/,如需轉載,請註明出處,否則將追究法律責任。

相關文章