SolrCloud搭建
什么是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搭建的更多相关文章
- Solr分片机制以及Solrcloud搭建及分片操作
Solr分片描述 分片是集合的逻辑分区,包含集合中文档的子集,这样集合中的每个文档都正好包含在一个分片中.集合中包含每个文档的分片取决于集合的整体"分片"策略. 当您的集合对于一个 ...
- solrcloud 搭建资料
SolrCloud4.9+zookeeper在CentOS上的搭建与安装 http://www.open-open.com/lib/view/open1411307048750.html 官网教程 h ...
- Centos7:solr伪集群(SolrCloud)搭建
JDK,tocmat环境搭建 zookeeper集群安装 解压缩zookeeper的压缩包 创建data目录 复制zoo_sample.cfg为zoo.cfg 修改confg/zoo.cfg中 dat ...
- 分布式搜索之搭建Solrcloud(Solr集群)
Solrcloud介绍: SolrCloud(solr集群)是Solr提供的分布式搜索方案. 当你需要大规模,容错,分布式索引和检索能力时使用SolrCloud. 当索引量很大,搜索请求并发很高时,同 ...
- SolrCloud的搭建与稳定性测试
转载请注明出处:http://www.cnblogs.com/wubdut/p/7573738.html 一.集群搭建 1. zookeeper搭建(版本:3.4) 1.1 zoo.cfg配置文件: ...
- cloudera search环境搭建搭建-solrcloud
转载:http://blog.csdn.net/xiao_jun_0820/article/details/40539291 本文基于Cloudera Manager5.0.0,所有服务基于CDH5. ...
- 在zookeeper集群的基础上,搭建伪solrCloud集群
伪集群的搭建:将solrCloud搭建到同一台机器上. 准备工作 1 将在window中部署的单机版solr上传到服务器(虚拟机)中 solr的简单部署:在tomcat中启动slor 的内容 这一次放 ...
- Solr集群(即SolrCloud)搭建与使用
1.什么是SolrCloud SolrCloud(solr 云)是Solr提供的分布式搜索方案,当你需要大规模,容错,分布式索引和检索能力时使用 SolrCloud.当一个系统的索引数据量少的时候是不 ...
- Linux下部署solrCloud
1. 准备工作 这里我只是把我的师兄教我的关于Solrcloud搭建的过程,以及需要注意的地方文档化了.感谢他教会了我很多. 1.机子IP 三台安装linux系统的机子的IP地址为: 172.24.1 ...
随机推荐
- 07_Python语法示例(基础语法,文件操作,异常处理)
1.写程序在终端输出图形 ######## # # # # ######## print("#" * 8) print("#" + " " ...
- 搭建一个低配版的Mock Server
mock翻译过来是模仿的意思,Server是服务器.粗暴点直译就是模仿服务器. 写在前面 通过阅读本文,你将对Mock的使用有一定的了解,对前后端分离的概念有了更深一步的认识,对Koa的使用有一定的了 ...
- Java中枚举的用法
public enum Week { DAY1("周一", 0.9), DAY2("周二", 0.9), DAY3("周三", 0.8), ...
- Selenium-WebDriver安装
一.chrome浏览器: 根据chrome浏览器版本,下载对应的驱动 chromedriver版本 支持的Chrome版本 v2.37 v64-66 v2.36 v63-65 v2.35 v62-64 ...
- Python 字符串去除相邻重复的元素
1 def quchong(S): 2 str1=[""] 3 for i in S: 4 if i == str1[-1]: 5 str1.pop() 6 else: 7 str ...
- 文件操作和OS模块的简单操作
文件的作用 大家应该听说过一句话:“好记性不如烂笔头”. 不仅人的大脑会遗忘事情,计算机也会如此,比如一个程序在运行过程中用了九牛二虎之力终于计算出了结果,试想一下如果不把这些数据存放起来,相比重启电 ...
- Appium之常用API
Appium常用API解析 1.current_activity:获取当前页面的activity名,比如com.taobao.tao.TBMainActivity 或 com.taobao.brows ...
- oracle数据处理之sql loader(三)
数据装载 sql loader(PPT-I-490-498) 14.1 sql*loader:将外部数据(比如文本型)数据导入oracle database.(用于数据导入.不同类型数据库数据迁移) ...
- 《C++深度解析》课程目录
<C++深度解析>课程目录 第1课 - 学习 C++ 的意义 第2课 - C到C++的升级 第3课 - 进化后的const分析 第4课 - 布尔类型和引用 第5课 - 引用的本质分 ...
- python判断链表是否有环
思路:使用快慢指针,快指针每次走两步,慢指针每次走一步,如果有环,则一定会快慢指针指向同一结点: 假设环的长度为n,先让一个指针走n步,另一个再开始走,当他们指针指向同一结点时,该结点就是环入口点 ( ...