Solr集群搭建

集群架构

Solr集群搭建

配置Tomcat

四个Solr节点,需要四个Tomcat
端口号不同

创建目录solr-cloud
Solr集群搭建
复制Tomcat

复制四份
Solr集群搭建

修改端口号

Solr集群搭建
修改位置1
Solr集群搭建
修改位置2
Solr集群搭建
修改位置3
Solr集群搭建
保存,退出
其他三个Tomcat,依次为
8205、8280、8209
8305、8380、8309
8405、8480、8409

安装Solr

参考之前博客,Solr安装

启动,访问
http://192.168.163.200:8080/solr/#/
Solr集群搭建

Solr安装成功

将安装好的Solr

复制四份
Solr集群搭建
此时
每一个Tomcat下面
部署了一个Solr工程

复制solrhome

将配置好的solrhome

复制四份
Solr集群搭建

修改配置

Solr集群搭建
修改地址,端口号
Solr集群搭建
保存,退出
其他三个solrhome,依次为
192.168.163.200——8280
192.168.163.200——8380
192.168.163.200——8480

配置solrhome

每一个solr
配置一个solrhome
Solr集群搭建
修改路径
Solr集群搭建
保存,退出
其他三个solr的web.xml,依次为
/usr/local/solr-cloud/solrhome02/
/usr/local/solr-cloud/solrhome03/
/usr/local/solr-cloud/solrhome04/

配置Zookeeper

Zookeeper集群搭建
参考之前博客,已经搭建完成
192.168.163.200:2181
192.168.163.200:2182
192.168.163.200:2183

配置solr与Zookeeper的联系
需要,修改Tomcat配置文件
Solr集群搭建

指定Zookeeper

集群地址列表
Solr集群搭建
保存,退出
其他三个Tomcat,都需要修改为
JAVA_OPTS=”-DzkHost=192.168.163.200:2181,192.168.163.200:2182,192.168.163.200:2183”

每一个solr,配置一个Tomcat
每一个solr,都有自己独立的solr-home
每个solr-home下面的配置文件,都有可能不一样

在集群环境下
配置文件,应该只有一份
需要把配置文件,上传到Zookeeper

配置文件

上传Zookeeper
Zookeeper管理配置文件

Solr-home下面的配置文件,上传Zookeeper
Solr-home有四个,只要上传一份就可以
Solr集群搭建
需要把conf目录
上传到Zookeeper

Zkcli.sh

使用工具,上传文件
工具位置,在solr目录下面
Solr集群搭建

上传文件

./zkcli.sh -zkhost 192.168.163.200:2181,192.168.163.200:2182,192.168.163.200:2183 -cmd upconfig -confdir /usr/local/solr-cloud/solrhome01/collection1/conf/ -confname myconf
Solr集群搭建
-confname
指定上传到Zookeeper之后,文件名
这里,命名为myconf

注意

上传文件之前
保证Zookeeper集群,状态为开启
Solr集群搭建

查看文件

是否上传成功
Solr集群搭建

./zkCli.sh

Zookeeper客户端
连接Zookeeper
Solr集群搭建
默认连接2181端口

连接其他节点
指定地址,端口号
Solr集群搭建
连接集群中,任意节点即可
不一定非得是leader

查看文件

Solr集群搭建
Myconf
设置的上传Zookeeper文件名

所有配置文件
Solr集群搭建
上传成功之后
所有的节点,共享一份配置文件
配置完成

启动

启动所有Tomcat
写一个批处理
Solr集群搭建
保存,退出
添加执行权限
Solr集群搭建

执行

Solr集群搭建

访问solr

浏览器,输入地址
http://192.168.163.200:8180/solr/#/
Solr集群搭建
物理内存,快用完了
分配的内存比较小

Cloud

菜单,多了一个Cloud
单机版solr,没有这个菜单项
Solr集群搭建

Collection

表示索引库
当前,只有一个索引库
默认只有一个collection1

Shard

表示分片
当前只有一片

黑点

表示leader,主节点

空心

表示follower,从节点
当前是一主三从

创建collection

可以创建新的collection,进行分片

直接在浏览器输入,分片命令
http://192.168.163.200:8180/solr/admin/collections?action=CREATE&name=collection2&numShards=2&replicationFactor=2
Solr集群搭建
Success,分片成功
Collection2,创建新的collection
numShards=2,分为两片
replicationFactor=2,每片分为两个节点
一个主节点,一个备份节点

查看分片

cloud页面,刷新
Solr集群搭建
创建完成
Collection1不用了,可以删掉
多个collection是可以共存的

删除collection1

在浏览器中
输入命令
http://192.168.163.200:8180/solr/admin/collections?action=DELETE&name=collection1
Solr集群搭建
cloud

刷新页面
Solr集群搭建
只剩下创建的collection
分为两片,每片一主一备
与最初设计的架构图一致
Solr集群搭建

架构说明

三个Zookeeper节点
四个solr,部署四个Tomcat

一个collection
两个分片,每片一主一备