千家信息网

SolrCloud中zookeeper如何使用

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,SolrCloud中zookeeper如何使用,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。solr在zookeeper中的结点1、
千家信息网最后更新 2026年11月03日SolrCloud中zookeeper如何使用

SolrCloud中zookeeper如何使用,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

solr在zookeeper中的结点



1、aliases.json 对colletion别名,另有妙用(solrcloud的build search分离),以后再写博客说明。

2、clusterstate.json 重要信息文件。包含了colletion ,shard replica的具体描述信息。

3、live_nodes ,下面都是瞬时的zk结点,代表当前存活的solrcloud中的节点。

4、overseer, solrcloud中的重要角色。下面存有三个重要的分布式队列,代表待执行solrcloud相关的zookeeper操作的任务队列。collection-queue-work是存放与collection相关的特办操作,如createcollection ,reloadcollection,createalias,deletealias ,splitshard 等。

5、queue则存放了所有与collection无关的操作,例如deletecore,removecollection,removeshard,leader,createshard,updateshardstate,还有包括节点的状态(down、active、recovering)的变化。

6、queue-work是一个临时队列,指正在处理中的消息。操作会先保存到/overseer/queue,在overseser进行处理时,被移到/overseer/queue-work中,处理完后消息之后在从/overseer/queue-work中删除。如果overseer中途挂了,新选举的overseer会选将/overseer/queue-work中的操作执行完,再去处理/overseer/queue中的操作。

注意:以上队列中存放的所有子结点,都是PERSISTENT_SEQUENTIAL类型的。

7、overseer_elect ,用于overseer的选举工作

8、colletcion,存放当前collection一些简单信息(主要信息都在clusterstate.json中)。 下面的leader_elect自然是用于collection中shard中副本集的leader选举的。

Overseer 的zk写流程

在看solrcloud的官方文档的时候,几乎也很少有overseer的这个角色的说明介绍。相信不少成功配置solrcloud的开发者,也没有意识到这个角色的存在。

Overseer,顾名思义,是一个照看全局的角色,做总控工作。体现在代码与zk的相关操作中,就是zookeeper中大多的写操作,是由overseer去处理的,并且维护好clusterstate.josn与aliases.json这两个zk结点的内容。与我们"谁创建,谁修改"做法不同。由各个solr node发起的操作,都会publish到/overseer结点下面相应的queue中去,再由overseer去些分布式队列中去取这些操作信息,做相应的zk修改,并将整个solrcloud中相关的具体状态信息,更新到cluseterstate.json中去,最终会将个操作,从queue中删除,表示完成操作。

以一个solr node将自身状态标记为down为例。该node会将这种"state"operation的相关信息,publish到/overseer/queue中。由Overseer去从中取得这个操作,然后将node state为down的信息写入clusterstate.json。最后删除queue中的这个结点。

当然overseer这个角色,是利用zookeeper在solrcloud中内部选举出来的。

一般的zk读操作

Solr将最重要且信息最全面的内容都放在了cluseterstate.json中。这样做减少了,普通solr node需要关注的zk 结点数。除了clusterstate.json,普通的solr node在需要当前collection整体状态的时候,还会获取zk的/live_nodes中的信息,根据live_nodes中的信息,得知collection存活的node, 再从clusterstate.json获得这些node的信息。

这种处理,其实也好理解。假如一个solr node非正常下线,clusterstate.json中不一定会有变化,但/live_nodes中这个node对应的zk结点就消失了(因为是瞬时的)。

关于SolrCloud中zookeeper如何使用问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

信息 结点 处理 角色 队列 重要 状态 选举 内容 问题 普通 代表 分布式 时候 更多 消息 节点 面的 变化 工作 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 华中科技大学互联网 奔汉互联网科技 撒么互联网科技公司 互联网科技股午盘股票涨跌 海南购全球互联网科技 华中科技有哪些互联网大佬 富国互联网科技创新基金 科技互联网的估值 创业天下互联网科技有限公司 阿里互联网科技公司 佳云科技和互联网广告 南平创想时代互联网科技有限公司 特约风豹互联网科技为什么扣费 美国互联网科技公司 互联网时代科技型公司的机会 江苏互联网智能科技产品出厂价 三亚科技创新互联网基地 前海云享互联网科技 如何强化互联网金融科技 互联网 科技节活动 微视频大赛 互联网科技金融公司 互联网科技缩写 广州凡科互联网科技 互联网科技英文翻译 湖南洣水互联网科技有限公司扣款 互联网科技中介 汽车互联网创新科技园 昊天互联网科技有限公司 洛阳昕诺飞互联网科技有限公司 银川新华互联网科技学校招聘
0