我已经开始从事一个我正在使用Cassandra database的项目。
我们生产的DBA有安装two cluster,每个集群都有12 nodes。
我将使用Pelops client从Cassandra数据库读取数据。现在,我在想使用Cluster创建Pelops client类的最佳方法是什么,比如在创建集群时应该向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);有人能帮我解决这个问题吗?
任何帮助都将不胜感激。
发布于 2013-04-12 07:51:55
我会尽量在另一篇文章中更好地解释这个评论。我的建议是给佩洛普斯每一个星团的种子。假设每个集群有2个种子,我将使用这4个节点来创建我的池。
您正在使用Pelops --来自Dominic Williams (Pelops创建者)文档:
要创建池,需要指定名称、已知联系人节点列表(--库可以自动检测集群中的其他节点,但请参阅末尾的注释)、节点侦听的网络端口以及控制池中连接数量等内容的策略。-所以没有必要传递整个节点列表。
来自卡桑德拉文件:
卡桑德拉节点使用一种名为“绯闻”()的机制相互交换信息,但要让新启动的节点滚动,需要至少知道其中一个节点,这称为种子。选择少量相对稳定的节点作为种子__是惯例,但这里并没有严格的规则。
我正在生产的佩洛普斯从3年(从卡桑德拉0.6现在1.0.6)和方法,使用种子作为节点列表.工作得很好!
以下是几条建议:
1:如果您担心连接和环健康,您可以编写一个使用EACH_QUORUM CL进行“随机查询”的类来检查连接--以及一个使用Nodetool类检查环的健康状况的类。
如果您在cassandra中执行删除操作,请记住节点工具修复(data)的重要性。
你好,卡洛
https://stackoverflow.com/questions/15941296
复制相似问题