问题标签 [datastax-java-driver]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2194 浏览

cassandra - 卡桑德拉内存不足

我已经建立了一个 3 节点集群(Cassandra 1.2.1)和一个复制因子为 3 的列族。

列族称为 metric_hour 并使用列名称保存一小时的 15 秒平均值:

  • 帐户名称
  • 指标名称
  • 值类型(字符串)
  • 单位类型(字符串)
  • m0
  • 米1 ...
  • m239

我正在并行运行 6 个客户端,每个客户端都将数据推送到集群,总共有 210 万个指标值(一个指标为一整年的 15 秒值)。因为我不想为每个度量值读取和写入数据,我正在计算 metric_hours 的完整列表以预先存储并在最后将它们发送到集群,刚刚超过 8500 个插入。使用 BEGIN BATCH ... END BATCH 以 50 个为一组对刀片进行批处理;

大约 5-6 分钟后,Cassandra 集群不堪重负,堆满,节点开始出现故障(要么变得无响应,要么完全死亡)。我已经多次运行此设置,结果相同。

每个 cassandra 节点都在自己的专用硬件、四核 2.3 GHz Intel i7 CPU 和 16GB 物理 RAM 上运行(这些是 Mac Mini Server 机器。数据保存在内部 SSD 上)。我已经通过 cassandra-env 在 2 到 8 GB 的范围内设置了 -Xmx 和 -Xmn。使用 8GB 运行可使集群运行更长时间,但在短时间内仍会失败。

我还将一致性级别设置为 QUORUM,这可以使集群保持更长时间的活动。一分钟左右。

所有 CQL 查询都使用 Datastax java-driver 和 CQL3 发送到 Cassandra 集群。我试过打开和关闭row_cache。

在 Riak 集群上运行完全相同的设置在相对较长的时间内没有问题。所以我想知道 Cassandra 设置可以改进什么,或者可能有什么问题。

0 投票
5 回答
8372 浏览

java - 新的 Cassandra 项目 - Astyanax 还是 Java 驱动程序?

我正在使用 Cassandra 开始一个新项目(并计划使用最新的稳定 (1.2.x) 版本)。我尝试了几个不同的 Java 库,比如HectorAstyanax、Cassandra-jdbc...

其中,(简而言之)我的选择是Astyanax。但后来我也找到并尝试了 DataStax 的 Java 驱动程序,它支持新的 CQL 二进制协议,如果你只使用 CQL 会更干净。看来 1.0.0 GA 版本即将发布。

你会推荐哪一个?谢谢。

0 投票
1 回答
3940 浏览

java - 使用 Datastax API(使用新的二进制协议)Upsert/Read into/Read into/from Cassandra database

我已经开始使用Cassandra database. 我打算使用Datastax API进入upsert/read/从Cassandra database. 我对此完全陌生Datastax API(它使用新的二进制协议),我也找不到很多文档,其中有一些适当的例子。

现在下面是Singleton class我为连接到 Cassandra 数据库而创建的,Datastax API它使用新的二进制协议-

第一个问题- 让我知道在singleton class使用使用新二进制协议的 Datastax API 连接到 Cassandra 数据库时是否遗漏了上述任何内容。

第二个问题-现在我正在尝试upsert and read data进入/退出 Cassandra 数据库-

这些是我在 DAO 中使用的方法,它们将使用上面的 Singleton 类-

谁能帮我这个?我对这个使用新二进制协议的 Datastax API 完全陌生,所以在这方面有很多问题。

谢谢您的帮助。

0 投票
1 回答
9018 浏览

java - com.datastax.driver.core.exceptions.InvalidQueryException 使用 Datastax Java 驱动程序

我从 CLI 中创建了这样的列族-

现在我试图使用 Datastax Java 驱动程序插入到这个列族中——

我总是遇到这个例外-

com.datastax.driver.core.exceptions.InvalidQueryException:未配置的列族配置文件

通过这种方式,我正在尝试使用 Datastax java 驱动程序创建到 Cassandra 的连接/会话初始化-

我正在运行 Cassandra 1.2.3。我可以使用上面的代码连接到 Cassandra。我面临的唯一问题是插入时。

我想知道的是我是否可以使用 Datastax Java 驱动程序插入列族(我从 CLI 模式创建的)?一旦我尝试插入在 CLI 模式下创建的列族,我总是会遇到上述异常。

但是,如果我尝试插入到我在 中创建的另一个表中CQLsh mode,我可以插入到该表中。

任何帮助将不胜感激。

0 投票
2 回答
1142 浏览

cassandra - Thrift、CQL3 还是什么?

最近我注意到 Cassandra 和 DataStax 正在更多地推动 CQL3。甚至发布了一个新的 java 驱动程序,这个根本不使用 Thrift。如果您不打算使用“紧凑型存储”,您将无法在您的应用程序中使用 Thrift。因此,我相信 Thrift 正在从 Cassandra 中淡出。

我的问题是,对于一个新应用程序,我应该去使用 CQL3 吗?但是,我仍然更喜欢节俭,因为我想知道下面发生了什么,另一方面我不想使用正在淡出并成为遗产的东西。你有什么建议吗?

0 投票
1 回答
2438 浏览

cassandra - Datastax - PreparedStatement 线程安全吗?

com.datastax.driver.core.PreparedStatement 实例应该是应用程序中的单例吗?

如果是这样,如果连接丢失会发生什么?PreparedStatement 是否变得无效并且必须采取手动操作来“重新准备”?

PreparedStatement 用法的简单示例(除了以相同的方法准备+执行)会很棒!

0 投票
2 回答
602 浏览

maven - 无法通过 DataStax 构建 cassandra 数据库压力客户端

我正在使用我自己的带有 cassandra 的数据库集群。我想对我的数据库进行一些压力测试,这就是为什么我为 Cassandra 下载了 DataStax Java-driver。

https://github.com/datastax/java-driver

下载后,我知道我需要 Maven 来安装它。所以我从这里下载了 Maven 并将所有必要的路径添加到环境中。

http://maven.apache.org/download.cgi

使用 windows 命令行,我进入 java-driver 目录并调用

构建成功,之后我尝试使用命令行在 driver-examples/stress/target 中执行压力 jar 文件

我得到了错误:

无法从 cassandra-driver-examples-stress-1.0.1-SNAPSHOT.jar 加载主类清单属性

我怎样才能运行这个程序?

背景:我第一次与 maven 一起工作。

谢谢你。

0 投票
11 回答
51997 浏览

cassandra - 使用来自 com.example.cassandra 的 Java Driver for Apache Cassandra 1.0 连接到 Cassandra 时出错

通过 DataStax 使用 Cannsandra 的 Java 驱动程序连接到 Cassandra 客户端时,它会引发以下错误。

线程“主”com.datastax.driver.core.exceptions.NoHostAvailableException 中的异常:所有主机都尝试查询失败(尝试:[/127.0.0.1])

请建议...

谢谢!

我的java代码是这样的:

0 投票
1 回答
1035 浏览

cassandra - apache cassandra maven 的 Java 驱动程序无法构建

我正在尝试使用 Cassandra Java 驱动程序。使用 Maven 构建时出现以下错误。

在此行找到多个注释:

任何人都可以建议,需要在 POM.xml 中添加什么。

0 投票
3 回答
12329 浏览

cassandra - 在 Datastax Cassandra CQL 驱动程序中的 IN 子句中使用集合的预处理语句

我正在尝试运行以下查询

我将 Long 的 Java 列表绑定为参数,但出现异常

如果我尝试使用 (?) 它希望绑定单个 Long 项目,但我需要一个集合

我的语法有错误吗?