2013-04-11 90 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

问候, 卡罗

相关问题