2013-03-06 93 views
2

我可能在這裏誤解了一些東西,因爲我不清楚應該如何連接到Cassandra羣集。我在AWS上擁有由Priam管理的5個節點的Cassandra 1.2.1羣集。我想使用類似波紋管的代碼的代碼使用Astyanax連接到該集羣:我應該連接哪個Cassandra節點?

conPool = new ConnectionPoolConfigurationImpl(getConecPoolName())    .setMaxConnsPerHost(CONNECTION_POOL_SIZE_PER_HOST).setSeeds(MY_IP_SEEDS) 
       .setMaxOperationsPerConnection(100) // 10000 

我應該爲MY_IP_SEEDS使用?我應該使用以逗號分隔的所有節點的IP嗎?還是應該使用1臺機器(種子機器)的IP?如果我只使用一臺機器的IP,我擔心這臺機器的請求太多而過載。

我知道Priam有「get_seeds」REST API(https://github.com/Netflix/Priam/wiki/REST-API),它爲每個節點返回一個IP列表,我也知道每個RAC有一個種子。但是,我不確定如果種子節點關閉會發生什麼......當嘗試建立新的連接時,我需要連接到其他人,對吧?

回答

2

種子節點僅用於在節點啓動時找到進入集羣的路徑 - 無過載問題。

當然,其中一個節點必須在羣集中可以訪問並啓動並啓動並運行新節點。

所以最好的方法是在啓動節點之前從Priam更新種子列表。 Priam應位於自動更新的DNS條目之後。

如果你是最高的可用性,你應該種子當前列表中的定期存儲從普里阿摩斯並將其存儲在一個鏡像的方式,就像您存儲的木偶或廚師的配置才能夠得到節點工作,即使普里阿摩斯不到達。

相關問題