代码之家  ›  专栏  ›  技术社区  ›  Alihossein shahabi

为什么在所有阴影中,都选择特定节点作为引线

  •  2
  • Alihossein shahabi  · 技术社区  · 6 年前

    我已经安装了solr 7.4集群,它有3个节点和3个副本,一个集合有5个碎片

    我添加了一个名为“hai'141a”的集合 posts (有5个碎片和3个副本),默认情况下,所有碎片的领导者是 196.209.182.40

    enter image description here

    每个碎片都有一个不同的节点作为引导是否合适?

    例如:

    enter image description here

    为什么索尔选择所有的领导人都一样?

    1 回复  |  直到 6 年前
        1
  •  2
  •   MatsLindh    6 年前

    由于碎片可以位于完全不同的服务器上(通常是),而不是如您的示例中所示,所有碎片都位于同一组三个节点上,是的,对于所有碎片,可以有不同的领导者。

    选举过程在 Shards and indexing in SolrCloud .

    在索尔克鲁德没有主人或奴隶。相反,每个碎片至少由一个物理副本组成,其中一个副本就是一个领导者。领导者是自动选出的,最初是先到先得的,然后是根据动物园管理员的流程,如 https://zookeeper.apache.org/doc/r3.1.2/recipes.html#sc_leaderElection .

    从上面的url引用:

    使用zookeeper进行领导人选举的一个简单方法是,在创建代表客户“建议”的znode时使用序列短暂标志。这个想法是有一个znode,比如说“/election”,这样每个znode创建一个子znode“/election/n”和两个flags序列ephemeral。使用sequence标志,zookeeper会自动附加一个序列号,该序列号比以前附加到“/election”子级的任何序列号都大。创建附加序列号最小的znode的进程是leader。

    在你的情况下,同一个节点是第一个在所有情况下响应的(并且可能是你提交给创建请求的一个),因此,被选为最初的领导者。