SolrCloud学习(一)系统搭建
来源:互联网 发布:淘宝女装退款率 编辑:程序博客网 时间:2024/05/08 12:21
Solr介绍
Solr是一个分布式搜索系统,支持以webservice的方式来操作、调用系统,提供了良好的运维、管理界面。
Solr资料
http://wiki.apache.org/solr/
SolrCloud搭建
软件准备
apache-tomcat-6.0.37.tar.gz、solr-4.4.0.tgz、zookeeper-3.4.5.tar.gz
系统环境
server1,server2(依据环境需要,可选择服务器数量)
Solr安装
解压apache-tomcat-6.0.37.tar.gz、solr-4.4.0.tgz,修改解压后的文件夹名字,如下
然后创建tomcat加载solr.war文件的配置
mkdir /data1/tomcat/conf/Catalina/localhost/ -pvim /data1/tomcat/conf/Catalina/localhost/solr.xmlsolr.xml文件配置如下
<?xml version="1.0" encoding="utf-8"?><Context docBase="/data1/solr/example/solr/solr.war" debug="0" crossContext="false"> <Environment name="solr/home" type="java.lang.String" value="/data1/solr/example/solr/" override="true"/></Context>
进入solrhome目录,拷贝/data1/solr/dist/solr-4.4.0.war至/data1/solr/example/solr/solr.war
cp /data1/solr/dist/solr-4.4.0.war /data1/solr/example/solr/solr.war
配置/data1/solr/example/solr/collection1/conf/solrconfig.xml,添加如下配置:
<admin> <defaultQuery>*:*</defaultQuery> </admin> <dataDir>${solr.data.dir:/data1/solr/example/solr/data}</dataDir>修改/data1/solr/example/solr/collection1/conf/solrconfig.xml的lib配置
<lib dir="../../../contrib/extraction/lib" regex=".*\.jar" /> <lib dir="../../../dist/" regex="solr-cell-\d.*\.jar" /> <lib dir="../../../contrib/clustering/lib/" regex=".*\.jar" /> <lib dir="../../../dist/" regex="solr-clustering-\d.*\.jar" /> <lib dir="../../../contrib/langid/lib/" regex=".*\.jar" /> <lib dir="../../../dist/" regex="solr-langid-\d.*\.jar" /> <lib dir="../../../contrib/velocity/lib" regex=".*\.jar" /> <lib dir="../../../dist/" regex="solr-velocity-\d.*\.jar" /> <lib dir="../../lib/" regex=".*\.jar" />
解压/data1/solr/dist/solr-4.4.0.war,复制WEB-INF至example/solr,如下:
cd /data1/solr/dist/mkdir /data1/solr/example/solr-webapp/webapp/ -pcp -r WEB-INF/ /data1/solr/example/solr-webapp/webapp/
PS:此处的配置是为了解决SolrCloud的cloud-scripts/zkcli.sh脚本运行依赖环境
此时已经可以启动tomcat了,在这之前,拷贝solr日志依赖环境至tomcat下, 否则会导致tomcat启动无法加载solr.war
操作如下
cp /data1/solr/example/lib/ext/*.jar /data1/tomcat/lib/cp /data1/solr/example/resources/log4j.properties /data1/tomcat/lib/然后启动tomcat,检测tomcat+solr的环境是否成功,查看日志来解决启动失败的问题。
Server1,Server2都按照以上步奏进行部署,确定solr都可以成功访问。
zookeeper配置
在server1,server2解压zookeeper-3.4.5.tar.gz,并创建zookeeper数据文件夹,如下
进入zookeeper文件夹,进行配置,操作如下
cd /data1/zookeeper/conf/cp zoo_sample.cfg zoo.cfgvim zoo.cfg
# The number of milliseconds of each ticktickTime=2000# The number of ticks that the initial # synchronization phase can takeinitLimit=10# The number of ticks that can pass between # sending a request and getting an acknowledgementsyncLimit=5# the directory where the snapshot is stored.# do not use /tmp for storage, /tmp here is just # example sakes.dataDir=/data1/zookeeper_data# the port at which the clients will connectclientPort=2181server.1=server1:2888:3888server.2=server2:2888:3888
以上配置在server1,server2都进行操作,配置完之后依次启动zookeeper,日志中的java.net.ConnectException: Connection refused在
所有zookeeper启动之后,就不会出现了,不用理会该异常。
SolrCloud配置
上传solr配置至zookeeper,并关联配置文件
cd /data1/solr/examplecloud-scripts/zkcli.sh -cmd upconfig -zkhost server1:2181,server2:2181 -confdir ./solr/collection1/conf -confname myconfcloud-scripts/zkcli.sh -cmd linkconfig -collection collection1 -confname myconf -zkhost server1:2181,server2:2181
重新上传配置,操作如下:
cloud-scripts/zkcli.sh -cmd upconfig -zkhost server1:2181,server2:2181 -collection collection1 -confname myconf -solrhome ./solr -confdir ./solr/collection1/conf
<?xml version="1.0" encoding="UTF-8" ?><solr persistent="true" sharedLib="lib"> <cores defaultCoreName="collection1" adminPath="/admin/cores" zkClientTimeout="20000" hostPort="8080" hostContext="solr"> <core shard="shard1" instanceDir="collection1_shard1_replica_2/" name="collection1_shard1_replica_2" collection="collection1"/> <core shard="shard2" instanceDir="collection1_shard2_replica_2/" name="collection1_shard2_replica_2" collection="collection1"/> </cores></solr>依次配置完server1,server2的solr.xml文件,配置tomcat的bin/catalina.sh,加入以下参数
JAVA_OPTS='-DzkHost=10.39.32.40:2181,10.39.32.43:2181'
tomcat、solr和zookeeper就是这样被关联起来的。
至此,SolrCloud已经搭建完成,依次启动tomcat。
访问server1:8080/solr/,初次访问需要创建分片数据,操作如下
curl 'http://server1:8080/solr/admin/collections?action=CREATE&name=collection1&numShards=3&replicationFactor=3&maxShardsPerNode=3'
name:数据集名称
numShards:分片数
replicationFactor:每个分片的复本数
maxShardsPerNode:每个Solr服务器节点上最大分片数
配置过程遇到的问题,可google来查询错误,首选stackoverflow 的解决方案,多查看日志文件,WARN会是SolrCloud配置失败的原因。
下一步就开始学习第三方JAR的拓展、CoreAdmin的使用等基本操作。
- SolrCloud学习(一)系统搭建
- linux下搭建solrCloud集群(一)
- Linux系统solrcloud集群搭建.
- Windows搭建solrcloud(转载)
- solr学习(6.1)solrcloud集群的搭建
- solrcloud 搭建
- solrcloud搭建
- SolrCloud搭建
- solrcloud搭建
- solrCloud搭建
- 深入剖析SolrCloud(一)
- 深入剖析SolrCloud(一)
- CentOS下用Tomcat+Zookeeper+Nginx+Solr完美搭建SolrCloud平台(一)
- solr全文检索技术学习(三)-搭建SolrCloud集群问题总结
- Android系统源码学习入门(一)环境搭建
- android学习笔记(一)--系统环境搭建
- binder系统学习(一):环境搭建及内核配置
- cloudera search1.0.0环境搭建(1):搭建solrcloud
- 基于silverlight的流程实例图
- shell 字符串分割 / /
- js 防止表单被重复提交
- 显式与隐式Intent及AndroidManifest.xml文件中intent-filter参数说明
- 版本后缀名说明
- SolrCloud学习(一)系统搭建
- c++输入
- linux的system () 函数详解
- PCB阻抗控制
- 在AndroidManifest中使用meta-data保存数据完整示例
- android color
- 大话分页(一)
- 设计模式(代理模式)
- _itoa_s用法说明