不同 Cassandra 节点中相同查询的不同结果
Posted
技术标签:
【中文标题】不同 Cassandra 节点中相同查询的不同结果【英文标题】:Different results for same query in different Cassandra nodes 【发布时间】:2018-06-19 05:37:57 【问题描述】:我有 3 个 cassandra 节点,当我执行 query
时,2 个节点给出相同的响应,但 1 个节点给出不同的响应
假设我执行了query
select * from employee;
Node1 和 Node2 提供2 rows
,但 Node3 提供0 rows(empty response)
如何解决这个问题
【问题讨论】:
您能解释一下您是如何进行节点查询的吗? 我的 3 个节点安装在 3 个亚马逊实例中,我连接到这些实例,然后连接到 Cassandra,然后进行查询 每次连接到一个实例?并执行查询? 我有一个 java 应用程序,它已经与这些节点连接,它持续运行......我在 java 中遇到了一些问题,所以我对其进行了故障排除。在进行故障排除时,我连接到了 cassandra 节点我意识到问题出在 cassandra 节点上,它们对不同的 ndo 给出了不同的响应 您能解释一下您的配置、复制因子和一致性吗?你确定集群中连接了3个节点吗? 【参考方案1】:1.您没有使用网络拓扑。 2.你的复制因子是2。
简单策略:仅用于单个数据中心和一个机架。 SimpleStrategy 将第一个副本放置在分区器确定的节点上。不考虑拓扑(机架或数据中心位置),额外的副本被放置在环中顺时针方向的下一个节点上。
转到此链接: https://docs.datastax.com/en/cassandra/3.0/cassandra/architecture/archDataDistributeReplication.html
【讨论】:
【参考方案2】:我做了以下步骤,然后问题解决了,现在所有 3 个节点的数据都同步了
在实例上运行命令nodetool rebuild
将'replication_factor': '2'
更新为'replication_factor': '3'
【讨论】:
以上是关于不同 Cassandra 节点中相同查询的不同结果的主要内容,如果未能解决你的问题,请参考以下文章