Solr的集群搭建(索引库)

Solr的集群的搭建

Solr集群原理

SolrCloud概念以及结构

概念:

SolrCloud(Solr云)是Solr提供的分布式搜索方案,当你需要大规模,容错,分布式索引和检索能力时使用SolrCloud.当一个系统的索引数据量少的时候是不需要使用SolrCloud时,当索引量很大,搜索请求并发很高,这时需要使用SolrCloud来满足这些需求.

结构:

SolrCloud为了降低单机的处理压力,需要由更多台服务器共同来完成索引和搜索任务.实现的思路是将索引数据进行Shard(分片)拆分,每个分片由多态的服务器共同完成.当一个索引或搜索请求过来时会分别从不容的Shard的服务器中操作索引.

SolrCloud需要Solr基于Zookeeper部署,Zookeeper是一个集群管理软件,由于SolrCloud需要由多台服务器组成,由zookeeper来进行协调管理.

搭建Solr过程:

1.准备solr的单机版

2.连接三台zookeeper

3.上传Solr服务器的所有配置文件给三台zookeeper

(Apache给准备好的上传脚本中)

4.配置自己的节点信息

  ID

  总片数

  当前自己在那个片上

  总数据名称

 5.配置tomcat的服务器端口号要和solrhome中的端口号一致

 

修改这个tomcat和solr的名字

还要配置一下在tomcat中进行的配置

tomcat的核心配置文件

JAVA_OPTS="-DzkHost=192.168.200.128:2181,192.168.200.128:2182,192.168.200.128:2183"

执行一个脚本

sh /root/solr/solr-4.10.3/example/scripts/cloud-scripts/zkcli.sh -zkhost 192.168.200.128:2181,192.168.200.128:2182,192.168.200.128:2183 -cmd upconfig -confdir /root/solr/solrhome01/collection1/conf/ -confname myconf

运行完以后,去zookeeper中进行查看/root/zookeeper/zookeeper01/bin

这里目录下启动起来./zkCli.sh

然后使用查看的命令ls

4.配置的是collection1中的core.properties这个核心文件

numShards=2

name=collection1

shard=shard1

coreNodeName=core_node1

 

以上参数说明

numShards=2 //分片数量

name=collection1 //core名称

shard=shard1 //所属分片

coreNodeName=core_node1 //结点名称

然后最后一步就是配置solrhome中的solr.xml配置文件配置端口号和tomcat的端口号一致

将solr中的solrhome01和tomcat01复制为四份

修改tomcat的端口号和tomcat中的solr的配置文件

上面的三个端口号都需要修改

 配置solrhome02中的core.properties文件

配置solrhome中的solr.xml中的tomcat的端口号

全部需要进行配置,配置完成以后启动tomcat

打印日志

在浏览器端进行访问

配置成功,然后collection2没有进行配置,所以会报错.

搭建完成!进行测试

 

 

在linux中查看collection1中的data的index中

保存成功.

保存的时候有一个规律,

从实际上观察到的一个结果:第一条数据保存在片1,然后保存到片2.然后再保存在片2,然后再保存在片1上.

posted @ 2019-05-05 19:56  King-DA  阅读(247)  评论(0编辑  收藏  举报