2016-11-23 21 views
0

我們有幾個種類的軟件使用飼養員像Solr的,風暴,卡夫卡,HBase的等動物園管理員應該在工作機器還是獨立的機器上運行?

有2個選項來安裝飼養員集羣(超過1個節點):

  1. 嵌入式集羣 :在安裝其他軟件的同一臺計算機上安裝ZK或
  2. 外部羣集:有幾個功能不是很強大但專用的zookeeper計算機(在同一地區,雲計算和數據中心)運行zookeeper上。

哪一個更適合集羣穩定性?請注意,在這兩種情況下,我們的zookeeper羣集中總是有奇數個機器,而不僅僅是一臺機器。

看起來,嵌入式選項更容易設置,並且更好地使用機器,但外部選項似乎更穩定,因爲單個機器的丟失意味着僅丟失一個組件(嵌入式動物園管理員中的機器丟失意味着喪失動物園管理員節點以及Solr,Storm,Kafka的工作者節點,無論情況如何)。

在生產中運行zookeepers以獲得最大穩定性的行業標準是什麼?

回答

0

您應該認爲自己不鼓勵在生產環境中使用內部ZooKeeper。

如果有一個動物園管理員節點,並且它可能會在出現問題時出現問題,那麼最好是有外部動物園管理員,最好是動物園管理員合奏(兩個或更多) 。

如果您具有zookeeper節點的羣集設置,並且如果一個zookeeper節點關閉,剩餘的大多數節點正在運行將繼續工作。

More details

1

動物園管理員是卡夫卡集羣的重要組成部分,但由於新一代的客戶端的執行情況ZK負載已經大大降低了,現在只能由集羣本身使用。即使負載通常不是很高,但它對延遲很敏感,因此最佳做法是在專用機器上運行Zookeeper集成,甚至爲ZK事務日誌甚至使用專用磁盤來避免IO爭用。

通過使用較大的Zookeeper合奏,您可以獲得彈性,但這也會增加集羣內部的通信,並且可能會失去一些性能。由於Zookeeper採用簡單多數票的方式工作,因此需要使用奇數個節點纔有意義。 3節點集合允許失去1個節點而沒有影響,5節點集合允許丟失2個節點等等。

實際上,我發現小型,低工作負載的羣集運行得非常好,Zookeeper與Kafka節點安裝在同一臺機器上,但如果您的目標是實現最大的穩定性並增加流量,則會推薦單獨的羣集。

0

對於SolrCloud,我們強烈建議Zookeeper是外部的,並且您至少有三個。

這並不意味着它不能在與Solr相同的服務器上運行,但這意味着您應該使用zookeeper服務器,即Solr本身可以啓動的zookeeper服務器。

下面是與性能和SolrCloud一些信息,對飼養員接觸:

https://wiki.apache.org/solr/SolrPerformanceProblems#SolrCloud

無論你是在同一臺機器上運行時需要完全獨立的機器,甚至不同的磁盤的動物園管理員數據庫Solr,是非常依賴於您的SolrCloud安裝的特性。如果您的索引非常小並且查詢負載很低,則可以將zookeeper放在同一臺計算機上,甚至相同的磁盤上。

對於您提到的其他服務,我不知道推薦是什麼。