永发信息网

solrcloud如何查看每个分片有多少个document

答案:1  悬赏:30  手机版
解决时间 2021-03-23 12:24
solrcloud如何查看每个分片有多少个document
最佳答案
Solr4.0包含了分布式的sorl解决方案solrCloud,可以做sharding切分,每个sharding中节点支持选举算法(leader,replica),在sharding里面支持query的负载均衡。
在集群启动时,就需要声明当shard、collection等信息,启动过程中把集群的状态信息维护在zookeeper节点里。
集群中的任何一台server都可以响应客户端的请求,包括索引操作和查询操作。
对于索引操作,solrCloud提供了简单的分片算法,即根据当前的索引记录的ID值做hash操作,后根据zookeeper中维护的集群的相关状态(Collection,RangeInfo,Range)去查找hash值在哪个Range中,找到对应的shard;在该shard中 leader 中建立索引,Leader节点更新结束完成,最后将版本号和文档转发给同属于一个Shard的replicas节点。不过在建立索引时,shard的算法没有考虑到负载均衡,有可能往一个shard中一直插入,所以需要自己考虑进行shard的切分负载均衡。
关于shard切分的算法,这里提出个人的一点想法,简单一点的话可以独立维护Sharding切分管理模块,统计每个sharding的索引数量,根据统计的数量,进行索引分发;并针对每个shard维护BooleamFilter来快速的定位索引ID是否在该shard节点,以供查询用,当然如果整个索引key的量可以放在内存中的话,可以建立hash表存储。以上这种索引管理方式对动态的扩展shard也比较方便。
对于查询操作,如果不指定shard,会到该集群中所有的shard中查找,然后在被查的server中合并,每个shard中会自动的做负载均衡。
这里有值得改进的地方,如果查询参数中带有索引的唯一ID,就可以进行id 的hash算法,找到具体的shard,节省了其他shard的调用开销。
关于集群的动态扩展方面,考虑的还不太全面
集群节点动态的增加没有考虑,比如动态增加shard,或者shard中动态增加一个节点,据我了解,还没有很好的支持。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
永州韦使君新堂记阅读答案
凤九在电视剧里哪一集登基女帝的?
4.8-2.3x12最简
男孩名字大全有叫张光什么的吗
和公司的劳动合同1月12日到期,我提出加薪,
白龙王庙地址在什么地方,想过去办事
销售百日大战口号,誓师大会上用的口号?
宋庄加油站怎么去啊,我要去那办事
鱼皮火锅怎么做?
劳动合同法第47条和82条能够同时赔偿吗
单选题关于物体所具有的机械能,下列说法中正
安阳到湖北襄樊有直达的火车吗?
聚辉批发部地址在什么地方,想过去办事
韩城衣舍NO.02在什么地方啊,我要过去处理事
ug加工流道 流道半径为3.5。该怎么走,用多大
推荐资讯
百度WAP知道
荷叶农村怎么叫
萍安钢公司员工合同到期怎么办
睢县商丘黑龙王庙在哪里啊,我有事要去这里
如何把3.7V(锂电池)转为3V
杭州香格里拉饭店东楼和西楼的差别
单选题关于混合农业的说法正确的是A.我国没有
诸城市的舞蹈培训有那些,要地址,谢谢
长春华艺广告有限公司地址有知道的么?有点事
旺香亭怎么样
有一堆水果,2个一盘多1个,5个一盘少3个,3个一
日本厚木atsugi tights发热瘦腿袜质量怎样
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?