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上.

最新文章

  1. windows10安装mysql5.7.17是这样安装的吗?
  2. autolayout
  3. 非常实用的jquery版表单验证
  4. Android学习笔记之dispatchTouchEvent和OnInterceptTouchEvent和OnTouchEvent三个方法之间的联系...
  5. IOS之UI--小实例项目--添加商品和商品名
  6. solr导入mysql数据库
  7. Redis与Memcached的incr/decr差异对比
  8. java基础三种循环的使用及区别
  9. SPI协议及其工作原理浅析
  10. header的用法小结(转)
  11. Bootstrap 和 LESS
  12. mysql声明摘要
  13. 【高德地图API】汇润做爱地图技术大揭秘
  14. code forces 436 D. Make a Permutation!
  15. JSP连接MySQL时出现--错误:Access denied for user 'root'@'localhost' (using password: YES)'解决方案
  16. Dos.Common
  17. C#线程同步(4)- 通知&EventWaitHandle一家
  18. k8s学习笔记之二:使用kubeadm安装k8s集群
  19. MySQL--事务隔离级别RR和RC的异同
  20. odoo开发笔记 -- odoo web机制浅析

热门文章

  1. Python(二)Marshmallow 库相关学习
  2. Alpha冲刺——测试篇
  3. docker 学习操作记录 5-2
  4. CentOS下安装php 5.6.19
  5. 【转帖】nmap命令总结
  6. 开源分布式数据库中间件 DBLE
  7. Cglib 与 JDK动态代理
  8. Scala 系列(十一)—— 模式匹配
  9. 使用httpClient 调用get,Post接口
  10. C# 创建json传输格式的http请求