solrCloud集群的搭建

本文详细介绍了solrCloud的原理和搭建过程,包括利用zookeeper管理集群、solrCloud的分片存储以及如何配置高可用的solr和zookeeper集群。通过步骤指导,展示了如何从零开始构建solrCloud环境。
摘要由CSDN通过智能技术生成

什么是solrCloud

SolrCloud是solr提供的分布式搜索方案
适用情景:大规模,容错,分布式索引,检索
soLrCloud是基于solr和zookeeper的分布式搜索方案,

zookeeper的作用

使用zookeeper来管理集群:

  • 监控集群中的每个节点的健康状态
  • 请求来了先连zookeeper,而不是直接连solr,然后由zookeeper决定将这个请求发给哪台服务器然后哪台服务器来进行搜索
  • zookeeper可以对配置文件进行集群管理,因为集群中有这么多节点,每个节点都有一套配置文件的话不统一,因此我们把配置文件提出来放到zookeeper上,让集群中所有节点都去zookeeper上读取这个配置文件

solrCloud原理

系统架构图
这里写图片描述
物理结构:
       一个solr服务可以有1个或者多个core,每个core【数据库】存储不同的索引【表】,相互之间不干扰
逻辑结构:

  • 一个collection代表一个完整的索引库,因为存储的内容很多,因此要分片存储,两片的内容不一样
  • 每一片要存储到3个节点即3个core上,这3个core上内容完全一样,等于把一个片的内容复制3份放在3个core,有一个主core,2个从core

    关于zookeeper集群和solr集群的节点个数

  • 因为zookeeper是solr集群的入口,因此zookeeper也要实现高可用,因此才搭建zookeeper集群,而zookeeper遵循投票选举制度, 所以节点最好是奇数节点,最小的话就是3个了。
  • solr集群要分片的话至少分两片,分一片的话就是主和备,就不叫分片了,而每一片至少都是一主master一备slave,实现高可用,这样就是4个core,即一个solrCloud至少7台服务器3zookeeper,4solr

开始搭建solrCloud

1 搭建zookeeper集群
1.1 在~下创建文件夹solrCloud:

mkdir solrCloud

1.2 上传zookeeper.tar包到~目录下,然后解压

tar -xzvf zookeeper-3.4.6.tar.gz

1.3 复制3份解压好的文件分别到solrCloud的zookeeper文件夹中

[root@localhost ~]# cp -r zookeeper-3.4.6 ~/solrCloud/zookeeper1
[root@localhost ~]# cp -r zookeeper-3.4.6 ~/solrCloud/zookeeper2
[root@localhost ~]# cp -r zookeeper-3.4.6 ~/solrCloud/zookeeper3

原始zookeeper文件结构
这里写图片描述
1.4 进入每个zookeeper目录,创建数据data目录,并在data目录中创建myid文件,内容为实例id,即如果为zookeeper1,则myid中内容为1,如果为zookeeper2,则myid内容为2

cd data/
echo 1>myid
cat myid

1.5 进入每个zookeeper目录,修改配置文件:conf/zoozoo_sample.cfg文件改名为zoo.cfg,并修改zoo.cfg中的配置,主要有数据目录地址的修改dataDir,服务端口号的修改clientPort,以及添加配置集群中所有节点的通讯的ip和端口
这里写图片描述

cd conf/
mv zoo_sample.cfg zoo.cfg
vi zoo.cfg

这里写图片描述
这里的集群节点配置端口虽然是128,但是后来已经更新为129
1.6 在solrCloud目录下编辑快速启动脚本start-zookeeper.sh

cd zookeeper1/bin
./zkServer.sh start
cd ../../
cd zookeeper2/bin
./zkServer.sh start
cd ../../
cd zookeeper3/bin
./zkServer.sh start
cd ../../

1.7 给快速启动脚本添加执行权限,仅授权与当前用户

chmod u+x start-zookeeper.sh 

这里写图片描述
1.8 执行脚本,查看执行结果

./start-zookeeper.sh 
Using config: /root/solrCloud/zookeeper1/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
JMX enabled by default
Using config: /root/solrCloud/zookeeper2/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
JMX enabled by default
Using config: /root/solrCloud/zookeeper3/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

1.9 进入节点目录查看节点状态,可以看到有了一个leader和两个follower


2 搭建solr集群
2.1 在solrCloud目录下创建4个tomcat实例[每个tomcat带有一个solr服务工程],并修改各自对应的端口,如第一个修改8005为8105,8080为8180,8009改为8109,以此类推,第二个tomcat,第三个tomcat,第四个tomcat端口第二位依次加1
这里写图片描述
这里写图片描述
这里写图片描述
2.2 为每个tomcat中的solr服务配置对应的solrhome,将单机版的solrhome配置文件夹直接拷贝四份,并修改每一个的solrhome下的solr.xml,单机版中无需配置此配置文件,但是集群版需要修改。文件结构如下

[root@localhost solrhome1]# ll
total 24
drwxr-xr-x. 2 root root 4096 Mar 11 20:14 bin
drwxr-xr-x. 4 root root 4096 Mar 11 20:14 collection1
drwxr-xr-x. 4 root root 4096 Mar 11 20:14 collection2
-rw-r--r--. 1 root root 2473 Mar 11 20:14 README.txt
-rw-r--r--. 1 root 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值