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上.
本文来自博客园,作者:King-DA,转载请注明原文链接:https://www.cnblogs.com/qingmuchuanqi48/p/10815866.html