solr学习第九课程----SolrCloud索引分布介绍


(1) 执行添加索引请求,分成两种情况

1. Replica(在本例中是端口为8002的节点)接收到请求 

2. Replica将请求转发至它的Leader节点(在本例中是端口为8001的节点

3. Leader节点最终处理该请求,并且确保所有附加在它上面的Replica节点也处理这个请求。


前提条件:通过solrcloud方式创建索引

-DzkHost=192.168.17.121:2181,192.168.17.121:2182,192.168.17.121:2183  DnumShards=2

-DzkHost=192.168.17.121:2181,192.168.17.121:2182,192.168.17.121:2183  DnumShards=2

-DzkHost=192.168.17.121:2181,192.168.17.121:2182,192.168.17.121:2183  DnumShards=2

-DzkHost=192.168.17.121:2181,192.168.17.121:2182,192.168.17.121:2183 


通过程序我们创建1 000 000索引,数据会存储在shard1,shard2两个分片上。

结论:数据分别存放到shard1,shard2上,shard1,shard2上的数据不会重复


每个shard上存储的索引时相同的,因为同一个shard下索引时复制的。

集合名称

分片名称

节点

每个节点索引数

core0

shard1

192.168.12.121:8001

501233

192.168.12.121:8003

501233

shard2

192.168.12.121:8003

498767

192.168.12.121:8004

498767

其中:总索引数=shard1索引数据 + shard2 索引数据

shard1索引数据为8001或者8002种任意获取一个节点数据。即数据为501233

Shard2索引数据为8003或者8004种任意获取一个节点数据。即数据为498767

那么总索引数据为1000000 = 501233 + 498767


验证方法

http://IP:PORT/solr/core0/select?q=*%3A*&wt=json&indent=true&&distrib=false

其中distrib=false表示仅从当前节点获取数据。


(2) 节点宕机索引情况

第一种:shard1或者shard2中任意一个节点宕机

查询索引:1000000 ,验证总索引数=shard1索引数据501233   + shard2 索引数据498767 结果 正确


第二种:shard1或者shard2种的两个节点同时宕机


查询索引:501233 ,验证总索引数=shard1索引数据个数 501233  + shard2 索引数据个数结果 正确

总结:只要保证shard1shard2种至少有一个节点正常,那么就可以保证数据连续正常,由于总的索引时所有shard之和,由于shard2宕机,数据会存在丢失。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

艾文教编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值