问题标签 [cassandra-2.0]

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

log4j - Cassandra 没有获取 log4j-server.properties 文件

我正在使用我自己的启动脚本启动一个 Cassandra 实例,该脚本设置 CASSANDRA_CONF 目录(位于 CASSANDRA_HOME 目录之外)。

当该过程开始时,我注意到日志不尊重我的 log4j-server.properties 文件。经过进一步调查,似乎 log4j-server.properties 文件没有被拾取,即使对它的引用出现在 Cassandra 生成的命令行参数中:

在脚本中,我输出了 log4j-server.properties 文件的内容,以确保它至少是从正确的位置读取的,并且确实如此。我是否缺少一些配置选项使 Cassandra 从 log4j-server.properties 文件中读取?

0 投票
1 回答
871 浏览

java - Ubuntu 中 cassandra、Datastax Enterprise 和 community 以及 Opscenter 的安装过程

嗨,我是一名 Java 程序员,并且是 Cassandra 的新手,根据我的项目要求,我需要在 Ubuntu 机器上安装并开始使用它。通过查看很多网站,我得出一个结论,要设置 Cassandra,需要安装 cassandra、Datastax Enterprise 和 community 以及 Opscenter。但我不知道首先需要安装哪个软件以及我需要做的配置是什么。所以请有人可以直接指导我,或者请向我推荐一些好的网站,以便在 Ubuntu 机器上设置 Cassandra 的简单程序。

0 投票
1 回答
359 浏览

python - 为 100 万行键处理 pycassa multiget 的有效方法是什么

我是卡桑德拉的新手。

现在我已经设法让我的代码在相对较小的数据集上为我的问题场景工作。

但是,当我尝试在 100 万行键上执行 multiget 时,它会失败并显示一条消息“重试 6 次。上次失败是超时:超时”。

例如:colfam.multiget([rowkey1,............,rowkey_Million])

基本上我要查询的列族有 100 万条记录,每条记录有 28 列。

在这里,我在单个 ubuntu 虚拟机上运行 2 节点 cassandra 集群,系统配置为

内存:3GB 处理器:1CPU

那么我如何有效地处理这么多行键上的 multiget,然后将相同的批量插入到另一个 cassandra 列族中?

提前致谢 :) :)

0 投票
1 回答
272 浏览

python - 使用 cassandra-cli 看到 pycassa 创建列族异常

因为我是 Cassandra 的新手。我想使用 pycassa API 创建一个列族。我使用以下代码创建了一个列族:

python脚本运行良好,没有任何异常。但是当我使用 cassandra-cli 检查这个列族时。我得到了以下异常:

我不知道为什么我会收到这个错误。有没有人有相同的工作代码。提前致谢。

0 投票
0 回答
64 浏览

cassandra-2.0 - Cassandra 已安装,但缺少启动它的文件

我最近安装了 cassandra,但是当我尝试使用 bin/cassandra 运行它时,它显示错误

没有这样的文件或目录。

0 投票
1 回答
724 浏览

cassandra - phpcassa:实例化 ColumnFamily 类时出现 cassandra\NotFoundException

我正在尝试使用 phpcassa libraray 查询 Cassandra 2.0.2 服务器。

我执行以下操作:

当我这样做时,我得到一个未捕获的 'cassandra\NotFoundException' 异常。

在阅读源代码后,我发现这是因为列族“对话”没有被加载到 ConnectionPool::describe_keyspace() 方法创建的 cloumn 族数组中。

当我使用以下代码打印“describe_keyspace”的结果时,我可以看到只有一个名为 user_profiles 的列族被加载到我的列族数组中。

该键空间中定义了 6 个列族,但 phpcassa 仅列出“user_profiles”;“user_profiles”和其他 CF 之间的唯一区别是“user_profiles”使用的是“WITH COMPACT STORAGE”属性。

关于如何解决这个问题或为什么会发生这种情况的任何想法?

谢谢!

PS:我通过 cqlsh 使用 CQL3 创建了列族,当我使用 cassandra-cli 进行“描述”时,我看不到我的列族,只有我提到的“user_profiles”一个,这可能有关联吗?

0 投票
2 回答
1222 浏览

java - 大量写入导致 Cassandra 环不稳定

我正在尝试将大量数据加载到 10 节点 Cassandra 环中。

执行插入的脚本获得约 4000 次插入 / 秒,大概在网络 I/O 上被阻塞。我在一台机器上启动了其中的 8 个,吞吐量几乎呈线性增长。(单个吞吐量略有下降,但通过额外的流程得到了更多的补偿。)

这工作得很好,但是,我仍然没有获得足够的吞吐量,所以我在另外 3 个虚拟机上启动了相同的设置。(因此,8 个进程 * 4 个 VM)在第一个附加 VM 之后,随着进一步 VM 的添加频率和严重性的增加,会发生以下情况:

  • 客户端开始接收超时错误。他们可以重新尝试他们的写入,但因为他们是分批这样做的,他们的前进进度几乎完全被消除了。
  • 环变得不稳定,节点开始将自己标记为“关闭”。此外,不同的节点往往对谁宕机有不同的想法。脚本中止时环不会恢复。(我什至无法通过重启单个节点来解决这个问题:我不得不重启整个环。)

“下”不一。在我最后一次运行中:

  • 4 个节点完全死亡。(Cassandra 根本没有运行。)检查日志,似乎没有任何关于它为什么死亡的记录。
  • 第五天,卡桑德拉正在奔跑。nodetool status在那个节点上挂起。两个线程似乎处于某种无限循环中。(他们一直在使用 100% 的 CPU。)java.lang.OutOfMemoryError: Java heap space日志中有一个。

代码本质上是:

该函数insert_and_time分成items大小为 200 的批次,调用上述函数,并对整个套件和 kaboodle 进行计时。(此代码对戒指有毒。)

我们尝试了更多的读取,因为(有人告诉我)每秒 20k 的插入速度很慢(以这种速度插入我想插入的数据需要一段时间……),而且 Cassandra 具有高容量。

我的问题:

  1. 我在做什么有什么不寻常的地方吗?哪里不对了?
  2. 我只是对我的戒指进行 DDoS 攻击吗?
  3. 我该如何去调试有什么问题?
  4. 一个错误的客户端,恕我直言,永远不能杀死服务器。(以上内容并没有非常错误。)我能做些什么来防止这种情况发生?

¹客户端似乎也慢慢泄漏文件描述符。我不认为这是相关的。(我.shutdown同时调用集群和连接。)查看驱动程序源,似乎有很多异常会导致泄漏的路径。

0 投票
3 回答
647 浏览

cassandra - cassandra 集群上的数据如何保持一致

当我阅读有关 cassandra 写入一致性的 datastax 文档时,我有疑问。我对 cassandra 如何在以下情况下保持一致状态有疑问:

  • 写入一致性级别 = Quorum
  • 复制因子 = 3

根据文档,当发生写入时,协调节点会将此写入请求发送到集群中的所有副本。如果一个副本成功而另一个副本失败,则协调节点将向客户端发送错误响应,但节点 1 成功写入数据并且不会回滚。

在这种情况下,

读取修复(或提示切换或节点工具修复)是否会将不一致的数据从节点 1 复制到节点 2 和节点 3?

如果不是,cassandra 将如何处理不将不一致的数据复制到其他副本?

你能澄清我的问题吗

0 投票
1 回答
137 浏览

cassandra-2.0 - Cassandra UTF8Type 键的顺序是什么?(卡桑德拉 2.0)

Cassandra UTF8Type 的顺序是什么?

所有的文档都让我期待一个字典排序顺序(基本上是字母顺序)。这似乎不是 Cassandra 使用的顺序。我很难猜到 它在用什么。

我建立了一个表来计算影响命名“应用程序”的交互,以一天的时间段组织。(这是一个简单的例子来说明我的困惑的原因)。我希望能够查找特定应用程序表的 CQL 描述如下:

我用数据加载它:

我从表中选择并看到以下结果:

所以,这个顺序不是字母顺序,不是输入顺序,不是我能看到的任何顺序。排序不是随机的,或者至少是可重复的:

对于它的价值,列族被描述为:

有人可以解释这些是如何订购的吗?

0 投票
2 回答
414 浏览

python - 随机和有序分区器中的 get_range

以下语句如何在处理大量行(例如 5 亿行)时帮助提高程序效率。

随机分区器:

有序分区:

get_range此外,在使用列族超过一百万行的有序分区器时,一次可以处理多少行。

谢谢