首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cassandra和Hector问题

Cassandra和Hector问题
EN

Stack Overflow用户
提问于 2012-06-06 20:04:43
回答 2查看 390关注 0票数 2

我在1个节点上设置了Cassandra,并用数据淹没了它。然后,我配置了第二个节点、它的初始令牌、种子等,并在它上面启动了Cassandra。现在,当我在一个节点集群上运行我的Hector代码时,它为我提供了所有数据。但是,当我在2节点集群上运行相同的代码时,我得到的数据更少(列数和行数更少)。我不明白我做错了什么。我甚至尝试使用CassandraHostConfigurator添加一串主机,但仍然无法获得全部数据。我也尝试过运行nodetool修复,但仍然面临同样的问题

请帮帮我

EN

回答 2

Stack Overflow用户

发布于 2012-06-06 22:43:10

当您将节点添加到集群中时,您应该在cassandra.yaml中使用auto_bootstrap: true启动该节点,以便集群中的其他节点(在您的示例中是唯一的节点)将数据流传输到新节点(根据令牌)。

编辑对于Casssandra-1.0和更高版本,没有作为引导的选项,在这种情况下,我们必须启动第二个节点,并计算出新的令牌,它将开始流式处理,data.once流式处理已完成运行nodetool move <new_token>。有关更多信息,请参阅Adding nodes to cluster

如果不这样做,第二个节点将不具有根据令牌它应该持有的数据。当您尝试从Cassandra中读取数据时,它可能会根据token查找新添加的节点上的数据,但由于没有数据,因此无法获得正确的结果。

票数 1
EN

Stack Overflow用户

发布于 2012-06-12 12:49:10

  • 请检查所有防火墙,iptables配置是否接受节点与另一个

通信

在添加一个节点到环之后,使用nodetool ring查看数据负载示例我的集群有3个节点,结果将类似:

192.168.23.84 datacenter1 rack1正常增长37.52 GB 33.33%

192.168.23.85 datacenter1 rack1正常增长37.5 GB 33.33%

192.168.23.86 datacenter1 rack1正常升级37.5 GB 33.33%

如果与此类似,当您使用hector时,请使用以下代码检查对哪个服务器的hector请求:

代码语言:javascript
复制
MutationResult result = mutator.execute();
logger.info(" host:" + result.getHostUsed().getHost());

尝试多次写入,以重新检查目标主机是否包含您的所有主机。

在使用Hector示例时,我使用此CassandraHostConfigurator将许多主机添加到集群中:

代码语言:javascript
复制
CassandraHostConfigurator cassandraHostConfigurator = new CassandraHostConfigurator(
                "192.168.23.84:9160,192.168.23.85:9160,192.168.23.86:9160");
cluster = HFactory.getOrCreateCluster("testcluster", cassandraHostConfigurator);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10913869

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档