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服务
- 解压tomcat6.x包,将端口设置为:8081.
- 解压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>
- 修改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服务
- 复制192.168.0.1的tomcat6.x到本台机器上
- 修改solr/WEB-INF/web.xml内容
- 修改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服务
- 复制192.168.0.1的tomcat6.x到本台机器上
- 修改solr/WEB-INF/web.xml内容
- 修改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,可进行测试.
最要命的是表达能力,不知道读者是否明白其中意思?