问题标签 [hector]

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

cassandra - Cassandra / Hector 超时 = 怎么办?

如果一个老练的用户可以说出所有可能的解决方案(最佳实践)如何解决 Hector 客户端超时,我将不胜感激:

赫克托:

取自 Hector 文档:https://github.com/rantav/hector/wiki/User-Guide

我发现以下与超时有关:

1.) cassandraThriftSocketTimeout

卡珊德拉

1.) rpc_timeout_in_ms: 10000 (在 cassandra.yaml 中)

在 Hector 和 Cassandra 端,还有哪些与超时相关的可用设置?我有时间!所以我只想等待更长的时间!但我还没有找到等待更长时间的设置。

谢谢马库斯

0 投票
6 回答
24606 浏览

unit-testing - 使用嵌入式服务器的 JUnit 测试 Cassandra

为将数据持久化到nosql数据存储的代码编写单元测试的最佳方法是什么,在我们的例子中是cassandra?

=> 我们正在使用嵌入式服务器方法,使用来自 git hub 的实用程序(https://github.com/hector-client/hector/blob/master/test/src/main/java/me/prettyprint/hector/testutils/EmbeddedServerHelper .java )。但是,我已经看到了一些问题。1)它在多个测试用例中保留数据,这使我们很难确保测试类的测试用例中的数据不同。我尝试调用 cleanUp @After 每个测试用例,但这似乎并没有清理数据。2)我们在添加更多测试时内存不足,这可能是因为 1,但我还不确定。我目前有 1G 的堆大小来运行我的构建。

=> 我一直在考虑的另一种方法是模拟 cassandra 存储。但这可能会泄露 cassandra 模式中的一些问题,因为我们经常发现上述方法会发现数据存储到 cassandra 中的方式存在问题。

请让我知道您对此的想法以及是否有人使用过 EmbeddedServerHelper 并熟悉我提到的问题。


只是一个更新。通过将测试嵌入式服务器使用的 cassandra.yaml 中的 in_memory_compaction_limit_in_mb 参数更改为 32,我能够解决 2)运行构建时 java 堆空间不足的问题。以下链接帮助了我http://www.datastax.com/docs/0.7/configuration/storage_configuration#in-memory-compaction-limit-in-mb。它是 64 并且在压缩期间开始持续失败。

0 投票
2 回答
2242 浏览

java - Hector 与 CQL 的集成

Hector 会在 Cassandra 0.8.1 中与 CQL 集成吗?有没有人积极开发或知道它?此外,是否有人知道任何其他 Java 客户端(如 Pelops、Hector、Kundera 等)正在开发以集成以在 Cassandra 0.8.1 版本中使用新的 CQL?有人对在运行 Cassandra 数据库时使用哪个 Java 客户端有任何建议吗?

0 投票
1 回答
504 浏览

cassandra - 使用批量突变时 Cassandra-0.8.1 中的限制

当我进行批量突变时,我发现了 cassandra 的一些例外情况,它说“已经在这个突变中进行了修改”,但给出的信息是两个不同的操作。在这种情况下,我使用带计数器的超级列,就像

  • 关键:网址的md5,utf-8
  • SuperColumnName:日期,utf-8
  • ColumnName:计数器名称是1到200之间的随机数,
  • 柱值:1L

大号

来自 cassandra 日志的错误信息显示,重复的操作只有相同的 key,SuperColumnName 不一样,对于计数器名称集,一些冲突有相交,有的没有。

我正在使用 Cassandra 0.8.1 和 hector 0.8.0-rc2

谁能告诉我这个问题的原因?提前致谢!

0 投票
1 回答
247 浏览

nosql - Cassandra / Hector = 是否有跳转到索引位置的功能?

Cassandra/Hector 是否提供了一种方法,该方法支持“跳转”(=访问)索引中的特定位置,并且:

((行))

我知道墓碑...我不介意...(它们可以包含在结果/计算中)

重要提示:我知道行分布在很多机器上。所以这个问题主要适用于列(驻留在一台机器上)。

我正在寻找像“给我”在索引中间的“Record=((Row))/Column”这样的用例......或者给我“Record=((Row))/Column”位于位置 454654。对于行和列。

这是否以某种方式支持getColumAtIndexPosition(int index)?如果不是,为什么不呢?仅在内部将索引记录计数到 Cassandra 中的正确位置并返回结果不是很容易吗?

非常感谢!延斯

0 投票
1 回答
201 浏览

nosql - Cassandra + Hector:如何在结果中导航/向后跳转?

我会感谢您的建议,如何使用 get_slice (列)向后导航:

如果我有这些列名1 2 3 4 5 6 7 8 9 10 11 12并且我有起始列/键8并且想查询 4 ​​列,我想得到结果8 7 6 55 6 7 8(顺序无关紧要),但我需要向后导航。

(澄清一下,我只有 start column/key = 8。我不知道 colum5所以我可以用 start column/key = 查询5。5 在这里是未知的,因此我需要向后查询,如所述......)

这该怎么做?在这个例子中,“reversed=true”似乎只返回“reversed”的结果,这将是11 10 9 8. 这不是我想要的,我需要将光标向后移动。这该怎么做?

非常感谢你!

延斯

0 投票
2 回答
4562 浏览

java - Cassandra Hector 负载均衡

我最近设置了一个有两个节点的 Cassandra 集群。复制因子设置为 2,如果两个节点都打开,它们似乎都运行良好。现在我怎样才能以这种方式使用赫克托,以便它在至少一个节点启动时继续工作?截至目前,我有类似以下的内容。

假设如果主机 xx.xx.13.22 出现故障,那么我在控制台中收到以下消息,并且我的所有插入都失败,直到该节点出现。

这就是我的键空间的定义方式

我确信我错过了一些非常微不足道的东西,任何帮助将不胜感激。谢谢

0 投票
2 回答
4472 浏览

sorting - 在 Cassandra 中按键排序

假设我有一个带有存储用户对象的列族的键空间,并且这些对象的键是用户名。

如何使用 Hector 获取按用户名排序的用户列表?

我尝试使用 RangeSlicesQuery,分页适用于此查询,但结果未以任何方式排序。

我是一个绝对的 Cassandra 初学者,谁能指出一个简单的例子来展示如何按键对列族进行排序?请询问您是否需要有关我的努力的更多详细信息。

编辑:

结果没有排序,因为我使用了默认的 RandomPartitioner 而不是 cassandra.yaml 中的 OrderPreseveringPartitioner。

可能最好不要依赖按键排序,而是使用二级索引。

0 投票
2 回答
931 浏览

nosql - Cassandra CLI:带有 RandomPartitioner 的 RowKey = 在明文中显示密钥?

使用 Cassandra CLI 给我以下输出:

我正在使用RandomPartitioner. 是否有可能在 Cleartext 中获取 RowKey(来自 CLI)?理想情况下在 CLI 中,但如果有一个帮助类将其转换回字符串,这也可以。

我知道密钥以某种方式散列。如果无法“检索”密钥(我必须假设),Cassandra 中是否公开了辅助类,我可以使用它根据我的原始字符串生成密钥来比较它们?

我的问题:我已经在 Cassandra 中存储了记录,但是使用密钥就像"user1|order1"我无法检索记录一样。Cassandra 没有找到任何记录。我认为不知何故我的钥匙错了,我需要比较它们并找出问题所在......

非常感谢 !!延斯

0 投票
2 回答
10934 浏览

java - 赫克托和卡桑德拉的基础知识

我正在使用 Cassandra-0.8.2。我正在使用最新版本的 Hector & 我的 java 版本是 1.6.0_26

我对 Cassandra & Hector 很陌生。

我正在尝试做的事情: 1. 连接到另一台服务器上正在运行的 cassandra 实例。我知道它正在运行 b/c 我可以通过我的终端 ssh 进入运行这个 Cassandra 实例的服务器并运行具有完整功能的 CLI。2. 然后我想连接到一个键空间并创建一个列族,然后通过 Hector 向该列族添加一个值。

我认为我的问题是此服务器上运行的 Cassandra 实例可能未配置为获取非本地命令。我认为我的下一步将是在我正在处理的 cpu 上添加 Cassandra 的本地实例,并尝试在本地执行此操作。你怎么看?

这是我的Java代码:

我的错误是:

预先感谢您的帮助。