2013-04-11 105 views
0

我已經開始使用我正在使用的項目Cassandra database兩個集羣,每個集羣都有12個節點 - Cassandra數據庫

我們的生產DBA的設置two cluster和每個羣集將有12 nodes

我將使用Pelops client從Cassandra數據庫讀取數據。現在我正在考慮使用Pelops client創建Cluster類的最佳方法,比如在創建羣集時應該將多少個節點添加到Pelops

我的理解是使用pelops client24 nodes創建集羣,因爲我將有兩個集羣,每個集羣都有12個節點?這是正確的方法?

如果不是,那麼我們如何決定在使用Pelops客戶端創建集羣時應該添加哪些節點(來自每個集羣)?

String[] nodes = what nodes I should use from two clusters? And how many nodes I should add?; 

int port = cfg.getInt("cassandra.port"); 

boolean dynamicND = true; // dynamic node discovery 

Config casconf = new Config(port, true, 0); 

Cluster cluster = new Cluster(nodes, casconf, dynamicND); 

Pelops.addPool(Const.CASSANDRA_POOL, cluster, Const.CASSANDRA_KS); 

任何人都可以幫我解決這個問題嗎?

任何幫助將不勝感激。

回答

0

我會盡力更好地解釋其他帖子中的評論。我的建議是給每個星團的種子提供一個種子。假設每個羣集有2個種子,我會使用這4個節點來創建我的池。

您正在使用貝洛布思 - 多米尼克·威廉姆斯(貝洛布思創建者)文檔:

創建池,你需要指定一個名稱,(已知的接觸節點列表庫可自動進一步檢測集羣中的節點,但請參閱最後的註釋),節點正在偵聽的網絡端口以及控制池中連接數的策略。 - 所以不需要傳遞整個節點列表。

從卡桑德拉文檔:

卡桑德拉節點大約一個交換信息的另一種使用一種叫做緋聞,但讓球滾動新啓動的節點需要知道至少有一個其他的機制,這就是所謂的種子。這是習慣性地拿起一個小數目相對穩定的節點作爲你的種子的,但沒有硬性的快速這裏的規則

我在生產與貝洛布思從3年(始於卡桑德拉0.6現在1.0.6)以及使用種子作爲節點列表的方法......工作正常!

小貼士:

1:如果你擔心連接和環健康,你可以寫一個類,使「隨機查詢」使用EACH_QUORUM CL檢查連接 - 和使用該Nodetool的java類班來檢查環

2的健康:如果你執行卡桑德拉記得nodetool修復的重要性,刪除(http://wiki.apache.org/cassandra/Operations#Repairing_missing_or_inconsistent_data

問候, 卡羅