centos7自学之6-基于solr6.6的solrcloud集群搭建

Solrcloud介绍

SolrCloud(solr集群)是Solr提供的分布式搜索方案。
当你需要大规模,容错,分布式索引和检索能力时使用SolrCloud。
当索引量很大,搜索请求并发很高时,同样需要使用SolrCloud来满足这些需求。
不过当一个系统的索引数据量少的时候是没有必要使用SolrCloud的。
SolrCloud是基于Solr和Zookeeper的分布式搜索方案。
它的主要思想是使用Zookeeper作为SolrCloud集群的配置信息中心,统一管理solrcloud的配置,比如solrconfig.xml和schema.xml。

Solrcloud特点

1.集中式的配置信息

2.自动容错

3.近实时搜索

4.查询时自动负载均衡

Solrcloud结构

solrcloud为了降低单机的处理压力,需要由多台服务器共同来完成索引和搜索任务。实现的思路是将索引数据进行Shard分片,每个分片由多台服务器共同完成,当一个索引或搜索请求过来时会分别从不同的Shard的服务器中操作索引。solrcloud是基于solr和zookeeper部署,zookeeper是一个集群管理软件,solrcloud需要由多台solr服务器组成,然后由zookeeper来进行协调管理。
由于solrcloud一般都是解决大数据量、大并发的搜索服务,所以搭建solrcloud之前,首先需要搭建zookeeper注册中心集群。

Solrcloud安装

搭建zookeeper集群步骤:需要三台zookeeper、分别是zk1、zk2、zk3,对应的端口分别为2281、2282、2283。

1.安装jdk环境,tomcat,zookeeper依赖java环境,参考这里centos7自学之2-jdk配置

2.下载并配置zookeeper环境,解压到/home/root/solrcloud/zk1/

cd /home/root/data/

wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz

tar -zxf zookeeper-3.4.10.tar.gz

mv zookeeper-3.4.10 ../solrcloud/zk1

3.进入zk1/conf目录,将zoo_sample.cfg文件名称改为zoo.cfg

cd ../solrcloud/zk1/conf

mv zoo_sample.cfg zoo.cfg

4.修改zoo.cfg文件,配置集群信息(俩个截图信息都是配置在zoo.cfg文件中)

mkdir ../data

vim zoo.cfg

这里写图片描述
5.在dataDir(对应zoo.cfg配置文件中的目录结构)目录下创建myid文件,文件内容为1,对应server.1中的1。

vim /home/root/solrcloud/zk1/data/myid

这里写图片描述

6.拷贝zk1,复制两个目录zk2、zk3。并修改zoo.cfg和myid两个文件为对应的内容。

cp -r zk1 zk2

cp -r zk1 zk3

vim /home/root/solrcooud/zk2/conf/zoo.cfg

vim /home/root/solrcooud/zk3/conf/zoo.cfg

这里写图片描述

这里写图片描述

zk2,zk3 对应的myid改为2,3

vim solrcloud/zk3/data/myid

vim solrcloud/zk2/data/myid

solr集群部署

1.复制4个单机版solr服务对应的tomcat,并分别修改端口为:8081、8082、8083、8084。
单机版solr服务器可以参考这里部署centos7自学之4-solr6.6搜索服务器安装及IK分词器配置

cp -r solr/tomcat-solr-8080 solrcloud/tomcat-solr-8081

cp -r solr/tomcat-solr-8080 solrcloud/tomcat-solr-8082

cp -r solr/tomcat-solr-8080 solrcloud/tomcat-solr-8083

cp -r solr/tomcat-solr-8080 solrcloud/tomcat-solr-8084

2.复制4个solrhome,分别为solrhome8081、solrhome8082、solrhome8083、solrhome8084。一个solr实例对应一个solrhome。
solehome部署方式请参考这里centos7自学之4-solr6.6搜索服务器安装及IK分词器配置

做完之后如下图
这里写图片描述

3.修改每个solr服务对应的Tomcat容器中solr项目的web.xml文件中的内容(目录结构为/home/root/solrcloud/tomcat-solr-8081/webapps/solr/WEB-INF)

vim tomcat-solr-8081/webapps/solr/WEB-INF/web.xml

这里写图片描述
同理更改剩下的三个tomcat
4.修改每个solrhome下的solr.xml,指定对应solr服务的tomcat的ip和端口。

vim solrhome8081/solr.xml

这里写图片描述
5.设置tomcat的启动参数,在每个tomcat目录下的bin/catalina.sh,添加以下内容:

JAVA_OPTS=”-DzkHost=192.168.216.129:2281,192.168.216.129:2282,192.168.216.129:2283”

vim tomcat-solr-8081/bin/catalina.sh

这里写图片描述

6.将solr配置文件上传到zookeeper中,进行统一管理,进入到/solr/solr-6.6.0/server/scripts/cloud-scripts/目录中执行zkcli.sh命令:

./zkcli.sh -zkhost 192.168.216.129:2281,192.168.216.129:2282,192.168.216.129:2283 -cmd upconfig -confdir /usr/local/solrcloud/solrhome8280/collection1/conf -confname myconf(每个ip地址之间用逗号分隔)

这里写图片描述

7.编写脚本文件
启动所有的zookeeper服务

mkdir /home/root/myShell

vim zk-start-all.sh

这里写图片描述

监控所有zk服务启动状态

vim zk-status-all.sh

这里写图片描述
停止所有zk服务

vim zk-stop-all.sh

这里写图片描述
启动所有tomcat服务器

vim tomcat-start-all.sh

这里写图片描述
停止所有tomcat服务器

vim tomcat-shutdown-all.sh

这里写图片描述

给创建的脚本赋权

chmod a+x zk-status-all.sh

8.访问部署的solr集群中任意的端口服务
这里写图片描述

solrcloud部署完成

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值