一.什么是solrCloud?
SolrCoud(solr云)是solr提供的分布式搜索方案。当一个系统搜索请求并发很高的时候,就需要使用solrCloud来满足这些需求
solrCloud是基于solr和zookeeper的分布式的搜索方案,它的主要思想是使用zookeeper作为挤集群配置的信息中心
二.什么是zookeeper?
zookeeper,动物园管理员,是用来管理hadoop,pig...的管理员.是一个分布式的开源的程序协调服务。可以做(1)配置管理(2)集群管理
三.solrCloud结构
三.zookeeper集群的搭建
1.mkdir /usr/local/solrCloud
2.zookeeper安装包上传到服务器
3.解压并复制
tar -zxf zookeeper-3.4.6.tar.gz mv zookeeper-3.4.6 /usr/local/solrCloud/zookeeper1cp -r zookeeper1/ zookeeper2cp -r zookeeper1/ zookeeper3
4.配置zookeeper
(1)在每个zookeeper文件夹下创建data文件夹
(2)在data文件夹下创建myid文件夹,内容为zookeeper的编号
cd data/
echo 1 >> myid
...
(3)把zookeeper下conf目录下zoo_sample.cfg文件复制一份改为zoo.cfg,并修改配置
cp zoo_sample.cfg zoo.cfgvim zoo.cfg
同理,修改其它的节点
(4)启动zookeeper
bin目录下:./zkServer.sh start
分别启动另外的节点
四.solr集群的搭建
1.把solrhome中的配置文件上传到zookeeper集群。
使用zookeeper的客户端上传。
客户端命令位置:/root/solr-4.10.3/example/scripts/cloud-scripts
./zkcli.sh -zkhost 192.168.25.154:2181,192.168.25.154:2182,192.168.25.154:2183 -cmd upconfig -confdir /usr/local/solrcloud/solrhome1/collection1/conf -confname myconf
2.修改solrhome下的solr.xml文件,指定当前实例运行的ip地址及端口号。
3.修改每一台solr的tomcat 的 bin目录下catalina.sh文件中加入DzkHost指定zookeeper服务器地址:
JAVA_OPTS="-DzkHost=192.168.25.154:2181,192.168.25.154:2182,192.168.25.154:2183"
(可以使用vim的查找功能查找到JAVA_OPTS的定义的位置,然后添加)
4.重新启动tomcat。
5.创建一个两片的collection,每片是一主一备。
使用以下命令创建:
http://192.168.25.154:8080/solr/admin/collections?action=CREATE&name=collection2&numShards=2&replicationFactor=2
6.删除collection1.
http://192.168.25.154:8080/solr/admin/collections?action=DELETE&name=collection1
五.solr实例的搭建
1.创建4个tomcat实例,修改其端口:8080-8083
2.解压solr-4.10.3.tar.gz压缩包,从压缩包中复制solr.war到tomcat
3.启动tomcat解压war包,把solr-4.10.3目录下的关于日志相关的jar包添加到solr工程中
4.创建solrhome,修改web.xml指定solrhome的位置