搜索服务Solr集群搭建 使用ZooKeeper作为代理层

上篇文章搭建了zookeeper集群

搜索服务Solr集群搭建 使用ZooKeeper作为代理层

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

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

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

搜索服务Solr集群搭建 使用ZooKeeper作为代理层修改server.xml文件修改端口号,总共3个

搜索服务Solr集群搭建 使用ZooKeeper作为代理层

搜索服务Solr集群搭建 使用ZooKeeper作为代理层

搜索服务Solr集群搭建 使用ZooKeeper作为代理层

搜索服务Solr集群搭建 使用ZooKeeper作为代理层

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

向tomcat下部署solr

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

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

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

搜索服务Solr集群搭建 使用ZooKeeper作为代理层为每个solr实例创建solrhome

搜索服务Solr集群搭建 使用ZooKeeper作为代理层

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

搜索服务Solr集群搭建 使用ZooKeeper作为代理层

搜索服务Solr集群搭建 使用ZooKeeper作为代理层

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

修改每个solrhome下的solr.xml文件 修改host、hostPort两个属性。分别是对应的ip及端口号

vim solrhome01/solr.xml

搜索服务Solr集群搭建 使用ZooKeeper作为代理层

搜索服务Solr集群搭建 使用ZooKeeper作为代理层

搜索服务Solr集群搭建 使用ZooKeeper作为代理层

搜索服务Solr集群搭建 使用ZooKeeper作为代理层

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

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

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

搜索服务Solr集群搭建 使用ZooKeeper作为代理层

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

搜索服务Solr集群搭建 使用ZooKeeper作为代理层

这2个文件已经上传

搜索服务Solr集群搭建 使用ZooKeeper作为代理层

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

每个节点都需要添加。

搜索服务Solr集群搭建 使用ZooKeeper作为代理层

4个tomcat都要这么做略第九步:启动每个solr实例。比较老土的办法搜索服务Solr集群搭建 使用ZooKeeper作为代理层

启动比较慢

需要耐心等待

检查每一个是否已经启动

搜索服务Solr集群搭建 使用ZooKeeper作为代理层

访问

发现多了一个cloud

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

8083是主,其他是备

搜索服务Solr集群搭建 使用ZooKeeper作为代理层

集群分片。

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

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

搜索服务Solr集群搭建 使用ZooKeeper作为代理层

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

上一篇:CDH集成kafka


下一篇:精华回顾 | 云栖大会 Elasticsearch 专场,集结8位ES大咖,超5000人围观的技术专场