先從第一台solr伺服器說起:
1. 它首先啟動乙個嵌入式的zookeeper伺服器,作為集群狀態資訊的管理者,
2. 將自己這個節點註冊到/node_states/目錄下
3. 同時將自己註冊到/live_nodes/目錄下
4. 建立/overseer_elect/leader,為後續overseer節點的選舉做準備,新建乙個overseer,
5. 更新/clusterstate.json目錄下json格式的集群狀態資訊
6. 本機從zookeeper中更新集群狀態資訊,維持與zookeeper上的集群資訊一致
7. 上傳本地配置檔案到zookeeper中,供集群中其他solr節點使用
8. 啟動本地的solr伺服器,
9. solr啟動完成後,overseer會得知shard中有第乙個節點進來,更新shard狀態資訊,並將本機所在節點設定為shard1的leader節點,並向整個集**布最新的集群狀態資訊。
10.本機從zookeeper中再次更新集群狀態資訊,第一台solr伺服器啟動完畢。
然後來看第二台solr伺服器的啟動過程:
1. 本機連線到集群所在的zookeeper,
2. 將自己這個節點註冊到/node_states/目錄下
3. 同時將自己註冊到/live_nodes/目錄下
4. 本機從zookeeper中更新集群狀態資訊,維持與zookeeper上的集群資訊一致
5. 從集群中儲存的配置檔案載入solr所需要的配置資訊
6. 啟動本地solr伺服器,
7. solr啟動完成後,將本節點註冊為集群中的shard,並將本機設定為shard2的leader節點,
8. 本機從zookeeper中再次更新集群狀態資訊,第二台solr伺服器啟動完畢。
這個集群現在就具備容錯性了,你可以試著宕掉一台solr伺服器,然後再傳送查詢請求。背後的實質是集群的overseer會監測各個shard的leader節點,如果leader節點掛了,則會啟動自動的容錯機制,會從同乙個shard中的其他replica節點集中重新選舉出乙個leader節點,甚至如果overseer節點自己也掛了,同樣會自動在其他節點上啟用新的overseer節點,這樣就確保了集群的高可用性.
Solr集群的架構
架構圖最近要搭乙個solr集群,我們先來了解一下架構。架構搭建需要用到solr zookeeper。看以下結構 要完成的集群結構如下圖 我們來了解一下solr和zookeeper。solr zookeeper 在此架構中,zookeeper扮演了三個功能,分別是集群管理,配置檔案的集中管理和分布式鎖...
solr集群的搭建
solrcloud 昨天隨手寫了個solr單機版的搭建,今天準備寫乙個solr集群的搭建 1.solr集群只要環境配置正確還是比較簡單的 環境 centos 6.4 i386 bin 1.iso jdk 7u72 linux i586.tar.gz apache tomcat 7.0.47.tar....
9 1基本流程介紹
1.基本流程介紹 mport numpy as np import tensorflow as tf from tensorflow import layers from tensorflow.python.ops import array ops from tensorflow.contrib i...