两个集群,每个集群都有12个节点 - Cassandra数据库
我已经开始使用我正在使用的项目Cassandra database
。两个集群,每个集群都有12个节点 - Cassandra数据库
我们的生产DBA的设置two cluster
和每个群集将有12 nodes
。
我将使用Pelops client
从Cassandra数据库读取数据。现在我正在考虑使用Pelops client
创建Cluster
类的最佳方法,比如在创建群集时应该将多少个节点添加到Pelops
?
我的理解是使用pelops client
和24 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);
任何人都可以帮我解决这个问题吗?
任何帮助将不胜感激。
我会尽力更好地解释其他帖子中的评论。我的建议是给每个星团的种子提供一个种子。假设每个群集有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)
问候, 卡罗