问题标签 [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.
cassandra - Cassandra 集群中出现意外的 UnavailableException
- 我有一个 3 节点 C* 集群。
- C* 客户端已将读取一致性级别设置为 QUORUM。
- 当集群中的一个节点关闭时,我收到 UnavailableException 以响应读取查询
为什么?由 3 个节点组成的集群的法定人数为 2,因此它应该处理一个节点的中断。
更多细节:
卡桑德拉版本:
键空间和列族的配置:
当一个节点关闭时,在读取查询期间抛出异常:
重现上述错误的 Scala 中的代码:
java - 在 cassandra 中复制 ColumnFamily (元数据,而不是实际行)
我需要在同一个键空间中复制一个 ColumnFamily——我不关心这个 ColumnFamily 中的数据,只关心 CF 的元数据(属性、设置等——不管你想怎么称呼它)。
我在网上找不到任何描述这个过程的东西(我也找不到它是否可能)。
有什么建议/想法吗?
我可以使用 python 或 java(astyanax 或 hector)。另外,我正在运行 cassandra 1.1
谢谢!
java - cassandra-all_1.2.2 的 Maven 依赖问题
我正在使用 Maven 项目,我正在尝试解决一些依赖问题cassandra-all_1.2.2
。我正在使用Astyanax client
Cassandra,只要我添加所有依赖项并启动我的服务器。我总是低于例外-
下面是我的pom.xml file
有人可以帮我吗?我做错了什么吗?任何建议都将对解决此问题有很大帮助。我被这个问题困扰了很长时间,仍然无法找出根本原因。
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 周。
非常感谢你的帮助。
cassandra - Thrift API 和 CQL 之间的混淆
我正在使用 NoSQL(目标是 Cassandra)在 Java Web 应用程序中工作。我使用 Astyanax 作为 Cassandra 客户端,因为它被认为是目前 Cassandra 的最佳客户端。我刚刚接触 Cassandra 2 周,很多事情对我来说都很奇怪。
在我工作的过程中,我遇到了一些问题,我不知道如何克服:
表是从 CQL 创建的,类似于 Thrift API 创建的列族吗?我觉得它们很相似,但背后可能有一些不同。例如:
- Thrift API 无法访问 CQL 命令创建的表
- 基于 Thrift 的 API 无法使用 CQL 创建的表,但 CQL 方法可以访问 Thrift API 创建的列族!
表中的主键是否对应列族中的行键?
- 在 CQL 中,我可以声明一个包含集合/集合/映射的表。我可以在 Thrift API 中做同样的事情吗?
- 如果我的应用程序同时需要它们(列族和表),它们如何相互处理?
- 我认识到一件事:我不能使用 Thrift API 来操作 CQL 创建的表上的数据,反之亦然。我想知道,我怎样才能记住哪个表/列族以哪种方式创建,以便我可以使用正确的 API 来处理数据?目前,我们还没有通用的方法来处理其中的两个,是吗?AFAIK、Thrift API 和 CQL 没有相同的接口,所以他们不能互相理解?!
你能帮我解释一下这些事情吗?太感谢了。
eclipse - Grails 构建路径混乱
我的问题是如何从 Grails 应用程序中找到并删除错误的库引用。
发生的事情是:
- 我有一个工作的 Grails 应用程序。
- 我将 Astyanax jar 添加到“/lib”文件夹并将其添加到构建路径。
- 我从 Astyanax git repo 复制了示例并在 Eclipse 中打开它们。Eclipse 显示有关在类中找不到方法 setCqlVersion 的错误。
- 我从构建路径和“lib”中删除了 jar。结果:Eclipse 没有抱怨缺少库,而是向我显示了关于未找到方法的相同错误。
这让我很困惑 - Eclipse/Grails 如何找到 Astyanax 库?我已经多次重新启动 Eclipse 并添加/删除了几次库 - 不走运。
groovy - CQL3 查询正在返回带有空键的行
我对 Cassandra 非常陌生,并在一些简单的用例中尝试使用 Astyanax/CQL3。我正在尝试从 Groovy 应用程序的 Cassandra 版本 1.2 上使用 Astyanax 和 CQL3 从简单表中检索数据。
我有以下列族(表):
表中存在以下行:
这就是我查询数据的方式:
这个的输出是:
尝试访问行中的任何列会导致以下结果:
感觉好像我错过了一些非常简单的东西。我做对了吗?
java - 在播放框架中导入 astyanax 库
我在包含外部 jar 文件来播放框架时遇到问题。我正在尝试包含 Astyanax 来播放框架。运行后astyanax中有多个jar文件./gradlew build
我/lib
在项目文件夹中创建了一个文件夹。
使用后我应该将哪些 jar 文件放入 github 存储库中./gradlew build
?
注意:我还astyanax.jar
从 Maven 中心下载了文件。我复制了 .jar 文件,但它仍然显示错误。
注意:我也尝试过play eclipse
命令。没有改变。
注意:我不能使用 eclipse 添加外部 .jar 文件。我需要在虚拟 linux 服务器上进行。
谢谢
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
终端上的命令在生产中进行播放框架测试。
所以,我知道播放框架已经准备好生产了。那么,我在这里做错了什么?
cassandra - 如何配置 Astyanax 连接池以关闭任何客户端请求(单 Cassandra 节点开发环境)
在 Cassandra/Astyanax 开发环境中,我正在运行单个/本地 Cassandra 节点。当这个单个 Cassandra 节点出现故障(无论出于何种原因)时,任何基于 Astyanax 的客户端代码(突变批处理、查询......)都会失败,并出现以下情况:
并且为每个后续基于 Astyanax 的客户端请求记录此异常,从而导致上述日志垃圾邮件。基本上,我在问是否有办法配置 Astyanax 连接池以停止接受请求并理想地提供某种回调,允许我关闭基于 Astyanax 的客户端应用程序(例如我们的服务器应用程序)。