2012-11-04 36 views
8
新節點

是否有可能以新的主機添加到一個動態集羣卡桑德拉?動態添加在卡桑德拉

我試圖做的是建立一個程序,可以:

  • 設置數據庫的本地版本爲每個用戶
  • 每個用戶的機器將成爲集羣的一部分(機器將主機)
  • 數據將在所有的集羣進行復制

構建多個主機的簇通常需要configuring the cassandra.yaml存儲種子,的listen_addr每個主機的ess和rpc_address。

我的想法是通過Java來編輯這些文件並插入新的主機地址的要求,但要確保數據是準確的在每個用戶的cassandra.yaml文件將是具有挑戰性的。

如果有人做過類似的東西,或有更好的辦法任何建議達到這個我不知道。

回答

3

是是可能的。查看Netflix's Priam以獲取動態cassandra集羣管理的完整示例(但設計爲與Amazon EC2一起使用)。

對於rpc_address和listen_address,你可以設置了配置cassandra.yaml如果它是不正常啓動腳本。

種子,你可以配置定製的種子供應商。看看seed provider used for Netflix's Priam的一些想法如何實現它

最困難的部分將是以有效的方式管理分配給每個節點的標記。 Cassandra 1.2即將發佈,並將包含一個名爲虛擬節點的功能,IMO將在您的情況下運行良好。見Acunu presentation about it