cassandra - 如何检查客户端读/写数据从/到哪个 Cassandra 节点?
问题描述
我正在使用 Cassandra 3.x 和 Phantom 驱动程序 (scala),并将我的 Cassandra 部署从一个简单的三节点集群修改为由两个数据中心组成的多数据中心 Cassandra 部署:
事务性 - “主要”数据中心,所有读取/写入都发生在该数据中心(某些分析作业完成的读取/写入除外)。
分析- 仅用于分析目的的数据中心。分析作业应该在这个数据中心上运行(即读/写)。
我将分析作业上的客户端配置为读取/写入分析数据中心,并将所有其他服务配置为从事务数据中心读取/写入。
如何检查客户端的实际行为是否符合预期 - 并将数据读/写到正确的数据中心?
解决方案
驱动程序有一个选项允许您打开跟踪。这应该允许您查看每个查询涉及哪些节点。
在驱动程序文档页面上有关于如何执行此操作的简短描述:https ://docs.datastax.com/en/developer/java-driver/4.2/manual/core/logging/
查询记录器参考 API有更多关于可用方法的详细信息,如果需要,甚至可以显示绑定变量的值。
推荐阅读
- python - 将整数转换为日期时间
- git - 重新排序 git 历史并保留内容而不是提交/补丁
- python - 测试在 Django 中的 form_valid() 中实现的已删除权限
- cloud - 设置 InfluxDB 任务,每分钟将本地数据库复制到云端
- repl.it - 调整窗口大小时有没有办法调整 Kaboom 游戏的大小
- java - 使用 Java 的 Android Studio 中的错误
- visual-studio-code - Visual Studio Code 无法在 launch.json 中展开参数化路径
- docker - 在 docker compose 中使持久性成为可选
- c - strtok() 函数,它不会修改原始字符串,并且应该为要返回的令牌创建一个新字符串
- google-sheets - 如何重命名列上的每个 URL 以在 Google 电子表格中共享相同的名称?