solr_solrcloud基础

1. 简介

  SolrCloud是基于SolrZookeeper的分布式搜索方案,是正在开发中的Solr4.0的核心组件之一,它的主要思想是使用Zookeeper作为集群的配置信息中心。它有几个特色功能,集中式的配置信息、自动容错 、近实时搜索 、查询时自动负载均衡。

http://www.cnblogs.com/phinecos/archive/2012/02/10/2345634.html

http://www.cnblogs.com/saratearing/p/5690476.html

 

Collection:在SolrCloud集群中逻辑意义上的完整的索引。它常常被划分为一个或多个Shard,它们使用相同的Config Set。如果Shard数超过一个,它就是分布式索引,SolrCloud让你通过Collection名称引用它,而不需要关心分布式检索时需要使用的和Shard相关参数。

 

Core:也就是Solr Core,一个Solr中包含一个或者多个Solr Core,每个Solr Core可以独立提供索引和查询功能,每个Solr Core对应一个索引或者CollectionShardSolr Core的提出是为了增加管理灵活性和共用资源。在SolrCloud中有个不同点是它使用的配置是在Zookeeper中的,传统的Solr core的配置文件是在磁盘上的配置目录中。

 

Leader:赢得选举的Shard replicas。每个Shard有多个Replicas,这几个Replicas需要选举来确定一个Leader。选举可以发生在任何时间,但是通常他们仅在某个Solr实例发生故障时才会触发。当索引documents时,SolrCloud会传递它们到此Shard对应的leaderleader再分发它们到全部Shardreplicas

 

ReplicaShard的一个拷贝。每个Replica存在于Solr的一个Core中。一个命名为“test”的collectionnumShards=1创建,并且指定replicationFactor设置为2,这会产生2replicas,也就是对应会有2Core,每个在不同的机器或者Solr实例。一个会被命名为test_shard1_replica1,另一个命名为test_shard1_replica2。它们中的一个会被选举为Leader

 

ShardCollection的逻辑分片。每个Shard被化成一个或者多个replicas,通过选举确定哪个是Leader,保存索引时,会用哈希算法存储到不同分片上。

 

Zookeeper: Zookeeper提供分布式锁功能,对SolrCloud是必须的。它处理Leader选举。Solr可以以内嵌的Zookeeper运行,但是建议用独立的,并且最好有3个以上的主机。

 

当一个leader挂掉后,其中的几个replica 要重新选一个leader出来,但默认的是要等待3分钟,可以降低等待3分钟(如10秒或0秒)

  配置选举等待时间:

  在solr.xml上配置:

leaderVoteWait="${leaderVoteWait:20000}"

< xml version="1.0" encoding="UTF-8" >

<solr persistent="true">

<cores defaultCoreName="video_shard1" adminPath="/admin/cores" zkClientTimeout="${zkClientTimeout:1500}" hostPort="${jetty.port:}" hostContext="solr" leaderVoteWait="${leaderVoteWait:20000}">

   </cores>

</solr>

 

2. zk相关操作:

注:zk常用命令中是使用zk目录下的zkCli.sh

其他几节的内容为solr中提供的zkcli.sh的命令

1) Zk常用命令

http://www.cnblogs.com/sherrykid/p/5813148.html

zkCli.sh -server localhost:2181

create /dir    (创建的是一个文件)

create /dir/node  (dir自动成一个目录了)

ls /dir

delete /node

rmr /dir

 

2) SolrCloud的配置文件上传到ZooKeeper中

/opt/solr-5.5.3/server/scripts/cloud-scripts/zkcli.sh -zkhost 192.168.75.101:2181,192.168.75.102:2181,192.168.75.103:2181 -cmd upconfig -confname solrConfig_harvewifi -confdir /opt/solr-5.5.3/harvewifi/conf

confname :在zk中的配置目录名称

confdir :文件系统下的solr实例配置文件目录

 

3) 如果只更新单个文件使用putfile命令:

/opt/solr-5.5.3/server/scripts/cloud-scripts/zkcli.sh -zkhost 192.168.75.101:2181,192.168.75.102:2181,192.168.75.103:2181 -cmd putfile /configs/oldharvewifi/solrconfig.xml /opt/solrcloud/config/oldharvewifi/solrconfig.xml

需要注意的是如果Zookeeper中的这个文件存在需要先删除之,然后在上传更新。(经测试,可以不删,将直接覆盖)

 

4) 将上传到ZooKeeper中配置文件与Collection相关联

/opt/solr-5.5.3/server/scripts/cloud-scripts/zkcli.sh -cmd linkconfig -collection harvewifi -confname solrConfig_harvewifi -zkhost 192.168.75.101:2181,192.168.75.102:2181,192.168.75.103:2181

collection :solr实例名称

confname zk中配置文件目录名

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值