文档章节

【Solr】- SolrCloud 基础操作

ZeroneLove
 ZeroneLove
发布于 2019/02/26 22:58
字数 1016
阅读 32
收藏 2

SolrCloud

solr基于Zookeeper协调组件搭建的分布式搜索引擎,具有zookeeper的高可用以及集群的可伸缩性的特点。

SolrCloud结构图

Collection:对应standby模式Solr Core

Shard(分片): 对应Collection逻辑划分的Core,可以理解为多个Shard组成一个完整意义上的Solr Core,如果是单机模式下:1 Solr Core = 1 Shard = 1 Core = 1 replica,Shard对于用户接口是不可见的,主要通过上一层的Collection提供一个Façade接口

Core: Solr Core一个包含索引和配置文件的运行实例,一个Core对应一个Replica实际提供索引服务,SolrCloud提供冗余机制,多个Replica提供的索引数据服务是相同的

Replica: Shard实际物理存储,可提供类似HDFS的备份机制保证冗余特性


结构图分析

一个Solr Core,分片2个Shard,shard提供1个leader replica和2个slave replica,实现冗余,Zookeeper负责挑选出leader replica,客户端进行索引的时SolrCloud会请求传递给对应的Shard的leader replica,leader replica再分发请求到shard到slave replica进行处理

Solr Cloud特点:

  • solr集群中心配置
  • 负载均衡
  • Zookeeper整合集群节点和配置:Zookeeper的应用场景

SolrCloud并没有Master节点去分配集群节点、shard和relica而是通过上传到Zookeeper的配置信息统一管理,客户端查询和更新指令可以被发送到集群的任意一个节点,Solr可根据注册在Zookeeper内置数据库的信息去决定处理客户端请求服务器的具体节点


SolrCloud常用命令

  • solr -e cloud --noprompt

Solr自带测试案例,会自动创建一个Collection:gettingstarted 和 两个Solr Core: gettingstarted_shard1以及gettingstarted_shard2,一个Core作为备份,数据自动同步

参数分析:--noprompt, 无需提示直接按照默认配置创建实例

SolrCloud基础界面:

查询SolrCloud节点的运行状态:solr status

查询Collection的详细信息:solr healthcheck -c gettingstarted

关闭SolrCloud节点:solr stop –all

删除solr collection :solr delete -c gettingstarted

SolrCloud默认配置文件: data_driven_schema_configs

SolrCloud启动:solr start –c –s solr –p 8983 –z localhost:2181 –noprompt

Solr默认服务器目录:server

  • -s solr:表明加载server目录下solr

重启SolrCloud节点:solr restart -c -p 8983 -s example/cloud/node1/solr

重启node节点:solr restart -c -p 7574 -z localhost:9983 -s example/cloud/node/solr

SolrCloud创建Collection: solr create –c name [-shards #] [-replicationFactor #]

测试案例:solr create -c solrCloud -shards 1 -replicationFactor 2

Solr create –c myCollection –d data_driven_schema_configs –s 3 –rf  2 –n myconf

SolrCloud内置Zookeeper访问:

zkCli.cmd -timeout 5000 -r -server localhost:9983

分析:solr自带的zookeeper随着solrCloud启动而启动,并保存整个solr集群的所有数据,并经过选举算法进行统一调度和负载均衡

创建Solr Cluster节点:Node

$ mkdir -p example/cloud/node/solr
$ cp server/solr/solr.xml example/cloud/node/solr
$ bin/solr start -cloud -s example/cloud/node/solr -p 8987 -z localhost:9983

特别注意

将新创建的Solr Core放在SolrHome的目录下,但SolrCloud无法启动并且报错,这种情况是因为SolrCloud启动后,Zookeeper会对SolrCloud集群的数据与实际的物理数据进行校验,如果发现物理节点未在Zookeeper中配置则出错

解决方法:

将物理节点数据上传至Zookeeper集群,保持物理节点数据与Zookeeper维护的数据进行同步

命令:将新创建的Solr Core配置上传Zookeeper

zkCli -zkhost localhost:2181 -cmd upconfig -collection computer 
-confdir server/solr/configsets/sample\_techproducts\_configs/conf 
-confname computerConf

参数说明:

  • -zkhost :指定Zookeeper的访问地址
  • -cmd :命令 upconfig:上传配置信息
  • -collection:指定上传配置信息关联的solr core
  • -confdir :上传配置的目录
  • -confnmae :solr core上传信息关联的Solr Core:如果不关联则会出现空指针异常,Zookeeper无法处理

© 著作权归作者所有

ZeroneLove
粉丝 6
博文 164
码字总数 134185
作品 0
深圳
高级程序员
私信 提问
加载中

评论(0)

【Solr】solr-4.10.3集群的搭建

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

遥寄三山
03/31
0
0
【Solr】- Apache SolrTM 5.3.1 Documentation

Solr Quick Start: Apache Solr官网翻译 概要 文档主要包含Solr启动、运行Solr导入各种形式的数据源到多个集合中,近距离体验Solr管理员和搜索接口 要求 系统要求 Apache Solr 发布包 开始 ...

ZeroneLove
2019/02/26
11
0
【Solr】- Solr Admin管理员界面

Solr管理员访问界面: Dashboard:仪表盘:状态信息、版本信息、JVM信息 Logging:日志信息 Core Admin:solr core的维护界面 Java Properties:Java属性信息 Thread Dump:线程信息 ---Analysi...

ZeroneLove
2019/02/26
27
0
SolrCloud集群Collection进行手动二次Sharding--solr分片相关

SolrCloud集群Collection进行手动二次Sharding http://blog.csdn.net/shirdrn/article/details/9770829 一致性hash和solr千万级数据分布式搜索引擎中的应用 http://www.lanceyan.com/tech/a......

毛朱
2015/08/30
1.5K
0
SolrCloud5.0路由 Collection建与数据迁移

SolrCloud的设计是为了提供高可用、容错,在分布式环境中进行内容索引和查询请求。 SolrCloud 5.0,对自带的SolrCloud的启动脚本进行了改进,启动SolrCloud变的异常简单,执行 view sourcep...

zcl111
2016/07/14
57
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring ElasticsearchTemplate 经纬度按距离排序

es实体,用 @GeoPointField 注解,值为:中间逗号隔开,如 29.477000,119.278536(经度, 维度) @Document(indexName = "v_intelligent_store")@Datapublic class IntelligentStore imp......

osc_s752w055
10分钟前
9
0
Spring ElasticsearchTemplate 经纬度按距离排序

es实体,用 @GeoPointField 注解,值为:中间逗号隔开,如 29.477000,119.278536(经度, 维度) @Document(indexName = "v_intelligent_store")@Datapublic class IntelligentStore imp......

osc_l330x9u1
11分钟前
31
0
Spring ElasticsearchTemplate 经纬度按距离排序

es实体,用 @GeoPointField 注解,值为:中间逗号隔开,如 29.477000,119.278536(经度, 维度) @Document(indexName = "v_intelligent_store")@Datapublic class IntelligentStore imp......

osc_kd8rd7b3
12分钟前
16
0
Android Studio开发获取本地时间

实现本地聊天记录功能,用到获取本地时间的函数,感觉比较实用,分享给大家! 1、在相应moudle的java文件夹下建立自己的util文件夹如·: 2、建立DateUtil类 package com.example.junior.uti...

osc_k6latecv
14分钟前
42
0
给 Windows 的终端配置代理

初衷 由于项目开发使用go,所以经常要用到go get,但是吧,terminal下根本没办法下载啊,经常下载三个小时包,写代码一个小时 本质上go get就是在使用git clone吧 迫于无奈,只好找个方式可以在...

osc_ocl8o73l
15分钟前
24
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部