首页 > 解决方案 > 如何检查客户端读/写数据从/到哪个 Cassandra 节点?

问题描述

我正在使用 Cassandra 3.x 和 Phantom 驱动程序 (scala),并将我的 Cassandra 部署从一个简单的三节点集群修改为由两个数据中心组成的多数据中心 Cassandra 部署:

事务性 - “主要”数据中心,所有读取/写入都发生在该数据中心(某些分析作业完成的读取/写入除外)。

分析- 仅用于分析目的的数据中心。分析作业应该在这个数据中心上运行(即读/写)。

我将分析作业上的客户端配置为读取/写入分析数据中心,并将所有其他服务配置为从事务数据中心读取/写入。

如何检查客户端的实际行为是否符合预期 - 并将数据读/写到正确的数据中心?

标签: cassandradatastax-java-driverphantom-dsl

解决方案


驱动程序有一个选项允许您打开跟踪。这应该允许您查看每个查询涉及哪些节点。

在驱动程序文档页面上有关于如何执行此操作的简短描述:https ://docs.datastax.com/en/developer/java-driver/4.2/manual/core/logging/

查询记录器参考 API有更多关于可用方法的详细信息,如果需要,甚至可以显示绑定变量的值。


推荐阅读