问题标签 [cassandra-2.1]
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.
c# - 使用 C# 驱动程序连接到 Cassandra CCM 集群
我正在尝试使用我的应用程序访问我动态创建的 ccm 集群,用于本地开发,但我不确定你将如何设置联系点(哪个 IP 地址和什么不是,使用什么安全设置)一次我已经创建了我的 ccm 集群。
有什么想法吗?我将继续研究并发布我在这里找到的任何答案。谢谢!
cassandra - Cassandra 的 CCM 工具是否只支持一个键空间?
我正在使用我用 ccm 创建的集群。我们在 2 个键空间中使用 3 个表,因此总共 6 个表。我遇到了一个问题,它让我在一个键空间中创建一个表,在另一个键空间中创建 2 个表,但即使我删除了我的
检查然后它会给我一个错误,说它已经存在。似乎创建忽略了这些应该位于 2 个单独的键空间中的事实;
这些是我们在开发云 Cassandra 集群上运行的相同 cql 脚本文件,所以我知道这不是脚本的问题。那,创建语句非常简单明了。
那么 CCM 是否只支持一个键空间?如果是这样,这似乎是一个很大的限制,并且如果我们甚至可以将它用于本地开发和测试目的,它的用处就会大大降低。
谢谢!
triggers - 触发器可以在 Cassandra 中用于多数据中心环境的生产吗?
我有一个多数据中心(DC1,DC2)环境,每个数据中心有 3 个节点,每个数据中心 RF=3。
想知道触发器是否可以在多数据中心环境中的生产中使用。如果是这样,如何实现?
案例 A:如果我开始向 DC1 插入数据,它将在 DC1 中有 3 个副本,并负责将数据复制到其他数据中心 DC2。每次插入 DC2 时,我都希望触发事件发生并通知应用程序中最新插入的值。可能吗?
案例B:如果不是第2点,将数据同时插入两个数据中心DC1、DC2(指向单个表)并避免触发器概念是否很好?对网络流量有影响吗?根据最新的时间戳,该表将具有对表的最后插入,当从任一区域查询时,该表将用于该目的。
通过这些一致性级别,可以实现良好的一致性,从而降低跨数据中心的写入操作延迟。
用例:
我们有两个不同区域(DC1 和 DC2)的应用程序(2 个域)。DC1 区域的用户使用域 1 访问应用程序,DC2 区域的用户使用域 2 访问应用程序。同一区域的数据被摄取到 DC1,当在其 DC 中复制时,DC1 的协调器将在其他 DC (DC2) 中复制数据。Dc2 从 DC1 收到数据的那一刻,我们想让应用程序知道最新的信息(使用一些触发事件机制可用的轮询。只是想知道这是否可以用 cassandra 触发器实现。
有人可以就案例 A 和案例 B 提供反馈吗?并且在生产中将是有效的。谢谢
titan - 如何将 Titan 图形数据导出到 JSON 文件?
我正在尝试使用以下代码将 Titan 图形数据导出到 JSON 文件
运行此代码时出现异常:
performance - Cassandra 集群写入性能
我正在使用带有 3 个节点的 Cassandra 2.1,其中一个被配置为种子。集群似乎工作正常,读取/查询速度很好。但是写入速度真的很差。大约 1000-2000 行/秒。考虑到我需要推送数百万行的数据库,时间成本是不可接受的。
这些行有 4 个主键。
我已经尝试使用复制因子 1,虽然我可以大大加快速度,但没有任何结果。
这是预期的表现还是我可能做错了什么?如果是这样,什么是诊断的好方法?查看节点中的 CPU/内存使用率,它们在 CPU 前端似乎很高,而在内存上则正常 (25%)。
我认为网络不是问题,因为我在只有一个节点的本地设置中也体验过这种性能!
谢谢您的帮助!任何指针表示赞赏。
java - 如何在不停机的情况下在 Cassandra 中进行大量更新?
我有一个非常大的 Cassandra 表,大约有 1300 万个条目。该表用作一种查找表。这意味着没有写入,只有读取。我使用Datastax Enterprise 4.8
(包括Cassandra 2.1
)。
因此,内容是非常静态的,但不时(每隔几个月)会更新内容。问题是,旧数据可能会过时并出现新数据。但旧数据不会被覆盖(它保留在表中)。必须删除旧数据才能拥有干净的数据库。
我有一个要求......数据库必须在更新期间可用。新旧数据并存的时间很短(几分钟)是可以的。
我已经考虑过以下解决方案:
- 直接把新表写成SSTable,和旧表交换
- 将更新作为批处理进行,并在开始时截断旧数据
- 创建一个新表(使用新名称)并在程序中更改使用的表(在运行时)
- 添加版本列,使用新版本添加新数据,然后删除旧数据(使用旧版本)
这些解决方案中哪一个是最好的?或者更好的是,有没有一种解决方案可以更优雅地解决我的问题?
cassandra-2.1 - Cassandra 2.1.10:无法重命名提交日志文件
我是新手,如果对查询不是很清楚,请多多包涵。
我一直在使用 cassandra 一段时间。但突然间,它已停止处理被报告为“初始化期间处理提交日志时出错”的问题,并且它是“重命名 .log 文件失败”。
我搜索了类似的报告,但无法解决问题。
我尝试了以下方法: 1. 清除 DataStax Community\data\commitlog 文件夹,但一个日志文件始终被 cassandra 锁定。2. 更改 Windows Defender 设置以允许 cassandra 文件夹而不扫描 .log 文件
我正在使用 Datastax Communitity Cassandra 2.1.10 版和 Java 1.8 64 位在单个节点上工作。
在期待中感谢 Sujata
控制台日志:
cql - CQL插入和更新之间的区别?
我是 Cassandra 的新手,我来自关系世界。当我在玩 CQL 时,我观察到我没有发现任何区别。例如:
当我执行以下查询时
更新产品设置价格=100,货币=美元,其中产品ID=12345;
然后 CQL 在表中创建新行。在 RDBMS 中这不起作用,因为没有 productID = 12345 的产品。
你能提供一些见解吗?
node.js - node js cassandra驱动程序ResponseError:第0行:-1输入没有可行的替代方案''
无法使用 cassandra-driver 连接到 cassandra 数据库。
Cassandra 版本是 2.1.5,cassandra-driver 版本是 2.1。
var cassandra = require("cassandra-driver");
var cassandraClient = new cassandra.Client({
contactPoints: [
hostAddress
],
keyspace: [name]
});
cassandraClient.connect(function (err, result) {
});
cassandraClient.on('log', function(level, className, message, furtherInfo) {
console.log('log event: %s -- %s', level, message);
});
solr - 将 dynamicFields 与 datastax 企业搜索结合使用
我正在使用启用了搜索的 Datastax Enterprise 4.8.0。我正在尝试将 dynamicFields 与地图集合一起使用,但无法弄清楚。这里有更多细节。
[cqlsh 5.0.1 | Cassandra 2.1.9.791 | DSE 4.8.0 | CQL spec 3.2.0 | Native protocol v3]
我有一个启用了搜索的 3 个节点的集群。我正在使用地图字段properties map<text, text>
,现在我想使用 dynamicField 定义从 datastax solr 中搜索它。
在 schema.xml 中,我有以下内容,但它不起作用:
<dynamicField name="properties*" type="text" indexed="true" stored="true" />
在 system.log 中,我看到如下错误:
WARN [http-0.0.0.0-8983-6] 2016-03-01 18:07:02,075 Cql3CassandraRowReader.java:162 - Cannot find dynamic field : [description], please make sure [properties] is being prepended/appended accordingly to build a correct dynamic field name. Did you mean propertiesdescription? descriptionproperties?
我还没有弄清楚如何更改字段定义以解决警告。