什么是SolrCloud?

  SolrCloud是基于 solr 和 zookeeper 的分布式搜索方案,它的主要思想是使用zookeeper作为SolrCloud集群的配置信息中心,统一管理SolrCloud的配置。SolrCloud一般都是解决大数据量,大并发的搜索服务。 SolrCloud将索引数据进行shard拆分(分片),每个分片有多台服务器共同完成,当一个索引或搜索请求过来时会分别从不同的shard的服务器中操作索引。

什么时候使用到SolrCloud?

  当你需要大规模,高容错率,分布式索引和检索能力时使用solrcloud。当索引量很大,搜索请求并发很高,这时需要使用solrcloud满足这些需求。当一个系统的索引数据量少的时候是不需要使用solrcloud的。

SolrCloud有什么特色功能?

  1、集中式的配置信息:使用zk进行集中配置,启动时可以指定把solr的相关配置文件上传zookeeper,多机器共用同一套配置。这些zk中的配置不会再拿到本地缓存,solr直接读取zk中的配置信息。另外配置文件的变动,所有机器都可以感知到。

  2、自动容错:solrcloud对索引分片,并对每个分片(shard)创建多个replication。每个 replication 都可以对外提供服务。一个 replication 挂掉不会影响索引服务,更强大的是,solrcloud还能自动的在其它机器上帮你把失败机器上的索引replication重建并投入使用。

  3、近实时搜索:立即推送式的replication(也支持慢推送),可以在秒内检索到新加入索引。

  4、查询时自动负载均衡:solrcloud 索引的多个replication可以分布在多台机器上,均衡查询压力,如果压力大,可以通过扩展机器,增加replication来减缓。

  5、除此之外,solrcloud还提供了其他一些特色功能:

      a 、可将索引存储在HDFS上

      b、 通过MR批量创建索引

      c、 强大的restful API

一、集群安装环境准备

#首先在三台服务器上单独安装solr(做到解压到/app目录下,可以正常启动就可以了)
可以参考:https://www.cnblogs.com/hsyw/p/13414681.html
#zookeeper作为SolrCloud集群的配置信息中心、所以还得先安装zookeeper集群
zookeeper集群安装:https://www.cnblogs.com/hsyw/p/13208716.html

二、集群安装(三台机器都改)

#进入到bin目录、修改solr.in.sh文件
[root@t1 ~]# cd /app/solr/bin
找到#ZK_HOST=""改下成如下
[root@t1 bin]# vim solr.in.sh
ZK_HOST="192.168.47.188:2181,192.168.47.189:2181,192.168.47.190:2181"

三、启动集群

[root@t1 bin]#  ./solr start -cloud -force(启动命令不一样了)
NOTE: Please install lsof as this script needs it to determine if Solr is listening on port 8983.

Started Solr server on port 8983 (pid=11870). Happy searching!

[root@t1 bin]# ss -ntl|grep 8983
LISTEN     0      50         :::8983                   :::*          
浏览器查看页面192.168.47.188:8983(189和190都试试,确保都没有问题)

四、测试,新建分片

4.1、上传配置文件到zk统一管理配置文件
[root@t1 ~]# cd /app/solr/server/scripts/cloud-scripts
#上传配置文件(用solr自带的做测试即可)
#如果是自己上传的配置文件,三个节点都要上传
#多个集合,就在zk新建一个节点统一管理
[root@t1 cloud-scripts]# ./zkcli.sh -zkhost 192.168.47.188:2181,192.168.47.189:2181,192.168.47.190:2181 /test -cmd upconfig -confdir /app/solr/server/solr/configsets/_default/conf/ -confname myconf
-confdir: 这个指的是 本地上传的文件位置
-confname:上传后在zookeeper中的节点名称
###重启solr
[root@t2 bin]# ./solr restart -cloud -force

###新建分片 浏览器输入
http://192.168.47.188:8983/solr/admin/collections?action=CREATE&name=collection1&maxShardsPerNode=3&numShards=3&replicationFactor=3

####然后到页面查看、大功告成了

4.2到zk中查看节点
[root@t2 ~]# cd /app/zktst/bin
#默认端口
[root@t2 bin]# ./zkCli.sh
[zk: localhost:2181(CONNECTED) 2] ls /test
[configs]
[zk: localhost:2181(CONNECTED) 3] ls /test/configs
[myconf]

SolrCloud搭建的更多相关文章

  1. Solr分片机制以及Solrcloud搭建及分片操作

    Solr分片描述 分片是集合的逻辑分区,包含集合中文档的子集,这样集合中的每个文档都正好包含在一个分片中.集合中包含每个文档的分片取决于集合的整体"分片"策略. 当您的集合对于一个 ...

  2. solrcloud 搭建资料

    SolrCloud4.9+zookeeper在CentOS上的搭建与安装 http://www.open-open.com/lib/view/open1411307048750.html 官网教程 h ...

  3. Centos7:solr伪集群(SolrCloud)搭建

    JDK,tocmat环境搭建 zookeeper集群安装 解压缩zookeeper的压缩包 创建data目录 复制zoo_sample.cfg为zoo.cfg 修改confg/zoo.cfg中 dat ...

  4. 分布式搜索之搭建Solrcloud(Solr集群)

    Solrcloud介绍: SolrCloud(solr集群)是Solr提供的分布式搜索方案. 当你需要大规模,容错,分布式索引和检索能力时使用SolrCloud. 当索引量很大,搜索请求并发很高时,同 ...

  5. SolrCloud的搭建与稳定性测试

    转载请注明出处:http://www.cnblogs.com/wubdut/p/7573738.html 一.集群搭建 1. zookeeper搭建(版本:3.4) 1.1 zoo.cfg配置文件: ...

  6. cloudera search环境搭建搭建-solrcloud

    转载:http://blog.csdn.net/xiao_jun_0820/article/details/40539291 本文基于Cloudera Manager5.0.0,所有服务基于CDH5. ...

  7. 在zookeeper集群的基础上,搭建伪solrCloud集群

    伪集群的搭建:将solrCloud搭建到同一台机器上. 准备工作 1 将在window中部署的单机版solr上传到服务器(虚拟机)中 solr的简单部署:在tomcat中启动slor 的内容 这一次放 ...

  8. Solr集群(即SolrCloud)搭建与使用

    1.什么是SolrCloud SolrCloud(solr 云)是Solr提供的分布式搜索方案,当你需要大规模,容错,分布式索引和检索能力时使用 SolrCloud.当一个系统的索引数据量少的时候是不 ...

  9. Linux下部署solrCloud

    1. 准备工作 这里我只是把我的师兄教我的关于Solrcloud搭建的过程,以及需要注意的地方文档化了.感谢他教会了我很多. 1.机子IP 三台安装linux系统的机子的IP地址为: 172.24.1 ...

随机推荐

  1. Activiti7 绑定业务主键以及流程定义 流程实例的挂起和激活

    绑定业务主键businessKey /** * 绑定业务主键 */ @Test public void bindingBusinessKey() { // 获取RuntimeService Runti ...

  2. Agumater 增加基本数据上传下载能力

  3. 为系统增加删除swap空间

    增加 1.创建/home/swap这么一个分区文件.文件大小是512000个block,一般情况下1个block为1k,所以这里空间是512M,这个空间大小自己随意定义. dd if=/dev/zer ...

  4. Java 根据两个经纬度,得到两点距离

    private static final double EARTH_RADIUS = 6371000;//赤道半径(单位m)private static final double INTEGR_NUM ...

  5. AP、AC、无线路由器

    起因 AP.AC.无线路由器 一直都傻傻的分不清,今天就好好的研究一下他们之间到底有什么联系和区别~ AP 什么是AP? 无线AP(Access Point):即无线接入点,它用于无线网络的无线交换机 ...

  6. 零基础一分钟入门Python

    这篇文章面向所有想学python的小伙伴(甚至你从没听过编程),这篇文章将会带你以最快的速度入门python.赶快上车,时间来不及了... 一,下载和安装python 1.下载: 1.1 python ...

  7. 《Redis内存数据库》Redis环境搭建

    前言 Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多 ...

  8. 小白的springboot之路(十七)、阿里云OSS 的使用

    0-前言 项目中,文件服务必不可少,常用的有各云服务商的OSS服务(如阿里云OSS,腾讯云OSS,七牛云).自建(fastDFS.minio): 推荐:如果用云服务的话,阿里云OSS很方便,如果自建的 ...

  9. Angular用户输入

    用户输入 事件绑定 使用 (event) on-event 概念 ​ 用户操作 -> DOM事件 用户操作 点击链接 按下按钮 输入文字 DOM事件 $event 类型 any 不能推测属性 可 ...

  10. hystrix熔断器之线程池

    隔离 Hystrix有两种隔离方式:信号量和线程池. 线程池隔离:对每个command创建一个自己的线程池,执行调用.通过线程池隔离来保证不同调用不会相互干扰和每一个调用的并发限制. 信号量隔热:对每 ...