首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 服务器 > 云计算 >

solr cloud 在集群中的配备,以及与中文分词, tomcat等等的整合(1)

2012-08-03 
solr cloud 在集群中的配置,以及与中文分词, tomcat等等的整合(1)因为项目规模的增大,之前所用的solr repl

solr cloud 在集群中的配置,以及与中文分词, tomcat等等的整合(1)
因为项目规模的增大,之前所用的solr replication已经无法满足。之前用的solr replication是master/slave结构,即master用来写入,slave用来读取。slave 可以设定同步时间,实现增量同步。但是由于无法有多个master(虽然可以有多个core),只能多台server写入同一块硬盘(如果写入不同地址,需要手动合并并且optimize)。所幸solr发布了cloud版本,虽然网上资料还不多,但通过一些尝试,还是在ec2上成功搭建了solr cloud, 现在写下来与童鞋们分享。

首先需要看的资料是solr cloud的wiki: http://wiki.apache.org/solr/SolrCloud/(写这篇博客的时候,wiki的内容较之前已经有改变)

从https://svn.apache.org/repos/asf/lucene/dev/trunk/中checkout下来solr cloud的源码。
从这个地址checkout下来的源码包含了lucene5.0和solr5.0(现在的wiki中给出的solr是4.0-alpha)
也正是因为这里的lucene和solr的版本较现在普遍使用的版本太高才导致了诸多问题。

我们假设solr_cloud的源码的位置是 ~/solr_cloud
首先要做是cd ~/solr_cloud/solr
然后 ant example, 因为整个项目是ant部署的。
在此过程中可能会报的错是ant版本太低(需要1.8.2以上),以及缺少ivy jar包,解决方法是从apache ivy下载ivy的jar包,拷贝到ant 的lib目录下。

编译完以后进入example目录。执行

java -Djetty.port=7574 -DzkHost=localhost:9983 -jar start.jar
 来启动。

到这里,一个最基本的solr cloud demo已经完成。但是,在生产环境中,需要做各种调整。这些具体的调整会在下一篇博文中给出。

NB:
zookeeper是apache的一个开源项目,用作分布式应用程序的协调。在solr cloud中,zookeeper
包含了所有shards的配置,主要起到选取leader和同步数据的作用。它的算法基础是Fast Paxos算法。
http://zookeeper.apache.org/

热点排行