你的位置:首页 > Java教程

[Java教程]搜索服务Solr集群搭建 使用ZooKeeper作为代理层


上篇文章搭建了zookeeper集群

那好,今天就可以搭建solr搜服服务的集群了,这个和redis 集群不同,是需要zk管理的,作为一个代理层

安装四个tomcat,修改其端口号不能冲突。8080~8083

如果是正式环境下,则分别使用4台linux作为节点

修改server.

以上步骤,在tomcat03,tomcat04上重复执行,但是3个端口一定要注意不能重复

向tomcat下部署solr

把单机版的solr工程复制到tomcat下即可

solr在别的机子上,用FileZilla Client工具拷贝过来,要把整个solr文件夹拷贝进来,包含solrhome

这个solr是单机版本中已经部署好的tomcat7/webapp下的

为每个solr实例创建solrhome

第四步:为每个solr实例关联对应的solrhome 修改web.

以此类推,在改tomcat02 03 05 的solr下的web.

修改每个solrhome下的solr.

vim solrhome01/solr.

把配置文件上传到zookeeper。需要使用

/root/solr-4.10.3/example/scripts/cloud-scripts/zkcli.sh命令上传配置文件。

把/usr/local/solr-cloud/solrhome01/collection1/conf目录上传到zookeeper。(上传一次即可,其他几个solrhome可以不需要),这样zk集群中每个节点都读同一个配置需要zookeeper集群已经启动。

查看是否上传成功。使用zookeeper的zkCli.sh命令。

这2个文件已经上传

告诉solr实例zookeeper的位置。需要修改tomcat的catalina.sh添加

每个节点都需要添加。

4个tomcat都要这么做略第九步:启动每个solr实例。比较老土的办法

启动比较慢

需要耐心等待

检查每一个是否已经启动

访问

发现多了一个cloud

这样的结构是只有一个片区shard1

8083是主,其他是备

集群分片。

将集群分为两片,每片两个副本。

http://192.168.1.200:8080/solr/admin/collections?action=CREATE&name=collection2&numShards=2&replicationFactor=2

OK, 这样整个zookeeper-solr集群搭建完毕