天天看点

SolrCloud使用Zookeeper管理集群的基本流程

第一台Solr服务器启动过程:

  1. 启动第一台zookeeper服务器,作为集群状态信息的管理者
  2. 将自己这个节点注册到/node_states/目录下,同时将自己注册到/live_nodes/目录下
  3. 创建/overseer_elect/leader,为后续Overseer节点的选举做准备,新建一个Overseer
  4. 更新/clusterstate.json目录下json格式的集群状态信息
  5. 本机从Zookeeper中更新集群状态信息,维持与Zookeeper上的集群信息一致
  6. 上传本地配置文件到Zookeeper中,供集群中其他solr节点使用,后面启动solr则不会上传配置文件,因为都是使用第一台solr服务启动上传的配置文件为准.
  7. 启动本地的Solr服务器,Overseer会得知shard中有第一个节点进来,更新shard状态信息,并将本机所在节点设置为shard1的leader节点,并向整个集群发布最新的集群状态信息。
  8. 本机从Zookeeper中再次更新集群状态信息,第一台solr服务器启动完毕。

第二台solr服务器的启动过程:

  1. 连接到集群所在的Zookeeper
  2. 将自己这个节点注册到/node_states/目录下,同时将自己注册到/live_nodes/目录下
  3. 本机从Zookeeper中更新集群状态信息,维持与Zookeeper上的集群信息一致
  4. 从集群中保存的配置文件加载Solr所需要的配置信息
  5. 启动本地solr服务器,将本节点注册为集群中的shard,并将本机设置为shard2的Leader节点
  6. 本机从Zookeeper中再次更新集群状态信息,第二台solr服务器启动完毕.