solr与zookeeper搭建solrcloud分布式索引服务实例

概述  

  由于机器台数的问题,本次搭建的是一台zookeeper服务器多台solr服务器的形式。其他知识这里不再啰嗦,可以参与:http://wiki.apache.org/solr/SolrCloud

  注:"x"表示实际信息。

预先准备

  1.下载solr4.1.0的压缩包:http://labs.mop.com/apache-mirror/lucene/solr/4.1.0/solr-4.1.0.tgz
  2.三台机器,假定ip分别为:192.168.0.1,192.168.0.2,192.168.0.3
  3.准备好java jdk1.6及以上版本和tomcat6.x及以上版本

搭建服务

  A.搭建192.168.0.1服务

  1. 解压tomcat6.x包,将端口设置为:8081.
  2. 解压solr-4.1.0.tgz包,将x/solr-4.1.0/example/solr复制到x/tomcat6.x/目录内。将x/solr-4.1.0/example/webapps/solr.war,复制到tomcat的webapps目录内。并修改solr/WEB-INF/web.xml内容:
    <env-entry>
         <env-entry-name>solr/home</env-entry-name>
         <env-entry-value>x/tomcat6.x/</env-entry-value>
         <env-entry-type>java.lang.String</env-entry-type>
    </env-entry>
  3. 修改tomcat6.x/bin目录内的catalina.sh,在头部分添加如下代码:
    #   JAVA_OPTS       (Optional) Java runtime options used when the "start",
    #                   "stop", or "run" command is executed.
    JAVA_OPTS="-Dbootstrap_confdir=x/tomcat6.x/solr/collection1/conf -Dcollection.configName=clusterconf -Djetty.port=8081 -Dhost=192.168.0.1 -DzkRun -DzkHost=localhost:9081 -DnumShards=1"

    当然这-Djetty.port=8081 -Dhost=192.168.0.1配置也可以在x/tomcat6.x/solr/solr.xml文件设置。

  B.搭建192.168.0.2服务

  1. 复制192.168.0.1的tomcat6.x到本台机器上
  2. 修改solr/WEB-INF/web.xml内容
  3. 修改tomcat6.x/bin目录内的catalina.sh,在头部分添加如下代码:
    #   JAVA_OPTS       (Optional) Java runtime options used when the "start",
    #                   "stop", or "run" command is executed.
    JAVA_OPTS="-Djetty.port=8082 -DzkHost=192.168.0.1:9081"

  C.搭建192.168.0.3服务

  1. 复制192.168.0.1的tomcat6.x到本台机器上
  2. 修改solr/WEB-INF/web.xml内容
  3. 修改tomcat6.x/bin目录内的catalina.sh,在头部分添加如下代码:
    #   JAVA_OPTS       (Optional) Java runtime options used when the "start",
    #                   "stop", or "run" command is executed.
    JAVA_OPTS="-Djetty.port=8083 -DzkHost=192.168.0.1:9081"

启动服务

  分别启动三台机器的tomcat服务。

查看结果

  输入URL:http://192.168.0.1:8081/solr/#/~cloud,查看solr管理后台.

简单应用

  在leader节点上创建一些索引数据:

cd exampledocs
java -Durl=http://192.168.0.1:8081/solr/collection1/update -jar post.jar ipod_video.xml
java -Durl=http://192.168.0.1:8081/solr/collection1/update -jar post.jar monitor.xml
java -Durl=http://192.168.0.1:8081/solr/collection1/update -jar post.jar mem.xml

  所以Replica节点都同步获得索引数据,输入URL:http://192.168.0.2:8082/solr/collection1/select?q=*:*&wt=xml,可进行测试.

    最要命的是表达能力,不知道读者是否明白其中意思?

posted @ 2013-02-21 12:44  sbcqw93  阅读(5075)  评论(4编辑  收藏  举报