问题标签 [astyanax]

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 回答
3670 浏览

cassandra - Cassandra 集群中出现意外的 UnavailableException

  • 我有一个 3 节点 C* 集群。
  • C* 客户端已将读取一致性级别设置为 QUORUM。
  • 当集群中的一个节点关闭时,我收到 UnavailableException 以响应读取查询

为什么?由 3 个节点组成的集群的法定人数为 2,因此它应该处理一个节点的中断。

更多细节:

卡桑德拉版本:

键空间和列族的配置:

当一个节点关闭时,在读取查询期间抛出异常:

重现上述错误的 Scala 中的代码:

0 投票
1 回答
399 浏览

java - 在 cassandra 中复制 ColumnFamily (元数据,而不是实际行)

我需要在同一个键空间中复制一个 ColumnFamily——我不关心这个 ColumnFamily 中的数据,只关心 CF 的元数据(属性、设置等——不管你想怎么称呼它)。

我在网上找不到任何描述这个过程的东西(我也找不到它是否可能)。

有什么建议/想法吗?

我可以使用 python 或 java(astyanax 或 hector)。另外,我正在运行 cassandra 1.1

谢谢!

0 投票
1 回答
612 浏览

java - cassandra-all_1.2.2 的 Maven 依赖问题

我正在使用 Maven 项目,我正在尝试解决一些依赖问题cassandra-all_1.2.2。我正在使用Astyanax clientCassandra,只要我添加所有依赖项并启动我的服务器。我总是低于例外-

下面是我的pom.xml file

有人可以帮我吗?我做错了什么吗?任何建议都将对解决此问题有很大帮助。我被这个问题困扰了很长时间,仍然无法找出根本原因。

0 投票
3 回答
2333 浏览

java - 使用 Astyanax 将 Cassandra 查询结果转换为 POJO

我正在使用 Cassandra 和 Astyanax 客户端在 Spring Web 应用程序中工作。我想将从 Cassandra 查询中检索到的结果数据转换为 POJO,但我不知道哪个库或 Astyanax API 支持这一点。
例如,我有User具有一些基本属性 ( ) 的列族 (CF),username, password, email并且可以将其他相关的附加信息添加到此 CF。然后我通过使用 OperationResult> 从该 CF 中获取一个用户行来保存返回的数据,如下所示:

我接下来要做的是将“列”填充到我的User对象中。在这里,我有两个问题,请你帮我解决这个问题:

1/ 什么是用户类的最佳结构来保存从用户 CF 检索到的相应数据?我的建议是:

2/ 如何使用通用方法将 Cassandra 数据转换为此 POJO(以便它可以应用于每个已映射 POJO 的单个 CF)?
如果我的问题中有一些愚蠢的东西,我很抱歉,因为我刚刚接触了 NoSQL 概念和 Cassandra 以及 Astyanax 2 周。
非常感谢你的帮助。

0 投票
2 回答
1549 浏览

cassandra - Thrift API 和 CQL 之间的混淆

我正在使用 NoSQL(目标是 Cassandra)在 Java Web 应用程序中工作。我使用 Astyanax 作为 Cassandra 客户端,因为它被认为是目前 Cassandra 的最佳客户端。我刚刚接触 Cassandra 2 周,很多事情对我来说都很奇怪。
在我工作的过程中,我遇到了一些问题,我不知道如何克服:

  1. 表是从 CQL 创建的,类似于 Thrift API 创建的列族吗?我觉得它们很相似,但背后可能有一些不同。例如:

    • Thrift API 无法访问 CQL 命令创建的表
    • 基于 Thrift 的 API 无法使用 CQL 创建的表,但 CQL 方法可以访问 Thrift API 创建的列族!
  2. ​表中的主键是否对应列族中的行键?

  3. 在 CQL 中,我可以声明一个包含集合/集合/映射的表。我可以在 Thrift API 中做同样的事情吗?
  4. 如果我的应用程序同时需要它们(列族和表),它们如何相互处理?
  5. 我认识到一件事:我不能使用 Thrift API 来操作 CQL 创建的表上的数据,反之亦然。我想知道,我怎样才能记住哪个表/列族以哪种方式创建,以便我可以使用正确的 API 来处理数据?目前,我们还没有通用的方法来处理其中的两个,是吗?AFAIK、Thrift API 和 CQL 没有相同的接口,所以他们不能互相理解?!

你能帮我解释一下这些事情吗?太感谢了。

0 投票
0 回答
273 浏览

eclipse - Grails 构建路径混乱

我的问题是如何从 Grails 应用程序中找到并删除错误的库引用。

发生的事情是:

  1. 我有一个工作的 Grails 应用程序。
  2. 我将 Astyanax jar 添加到“/lib”文件夹并将其添加到构建路径。
  3. 我从 Astyanax git repo 复制了示例并在 Eclipse 中打开它们。Eclipse 显示有关在类中找不到方法 setCqlVersion 的错误。
  4. 我从构建路径和“lib”中删除了 jar。结果:Eclipse 没有抱怨缺少库,而是向我显示了关于未找到方法的相同错误。

这让我很困惑 - Eclipse/Grails 如何找到 Astyanax 库?我已经多次重新启动 Eclipse 并添加/删除了几次库 - 不走运。

0 投票
0 回答
200 浏览

groovy - CQL3 查询正在返回带有空键的行

我对 Cassandra 非常陌生,并在一些简单的用例中尝试使用 Astyanax/CQL3。我正在尝试从 Groovy 应用程序的 Cassandra 版本 1.2 上使用 Astyanax 和 CQL3 从简单表中检索数据。

我有以下列族(表):

表中存在以下行:

这就是我查询数据的方式:

这个的输出是:

尝试访问行中的任何列会导致以下结果:

感觉好像我错过了一些非常简单的东西。我做对了吗?

0 投票
1 回答
403 浏览

java - 在播放框架中导入 astyanax 库

我在包含外部 jar 文件来播放框架时遇到问题。我正在尝试包含 Astyanax 来播放框架。运行后astyanax中有多个jar文件./gradlew build

/lib在项目文件夹中创建了一个文件夹。

使用后我应该将哪些 jar 文件放入 github 存储库中./gradlew build

注意:我还astyanax.jar从 Maven 中心下载了文件。我复制了 .jar 文件,但它仍然显示错误。

注意:我也尝试过play eclipse命令。没有改变。

注意:我不能使用 eclipse 添加外部 .jar 文件。我需要在虚拟 linux 服务器上进行。

谢谢

0 投票
1 回答
1205 浏览

playframework - 在虚拟机上播放框架 2 性能问题

我最近在 PHP 和 play 框架上实现了一个非常小的 Cassandra Web 应用程序来比较这些技术。我在具有 ubuntu-server 的虚拟机上运行这些测试。在 PHP 和 play 框架应用程序中,只有一个 URL 可以插入 Cassandra 键空间。

在 PHP 中,我运行了以下 apache 基准测试;

ab -n 100000 -c 100 http://example.com/insert 测试结果表明服务器可以服务120#/sec(requests per sec)

我使用 Netflix 的 Astyanax Cassandra 库在播放框架中制作了几乎相同的应用程序。但是,即使在ab.

我正在通过play start终端上的命令在生产中进行播放框架测试。

所以,我知道播放框架已经准备好生产了。那么,我在这里做错了什么?

0 投票
1 回答
911 浏览

cassandra - 如何配置 Astyanax 连接池以关闭任何客户端请求(单 Cassandra 节点开发环境)

在 Cassandra/Astyanax 开发环境中,我正在运行单个/本地 Cassandra 节点。当这个单个 Cassandra 节点出现故障(无论出于何种原因)时,任何基于 Astyanax 的客户端代码(突变批处理、查询......)都会失败,并出现以下情况:

并且为每个后续基于 Astyanax 的客户端请求记录此异常,从而导致上述日志垃圾邮件。基本上,我在问是否有办法配置 Astyanax 连接池以停止接受请求并理想地提供某种回调,允许我关闭基于 Astyanax 的客户端应用程序(例如我们的服务器应用程序)。