问题标签 [datastax-node-driver]

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 投票
2 回答
1878 浏览

node.js - 公开在 Kubernetes 上运行的 Cassandra

我在 Kubernetes(3 个实例)上运行 Cassandra,并且想将其公开给外部,我的应用程序还没有在 Kubernetes 中。所以我创建了一个负载平衡服务,如下所示:

结果是这样的:

我可以使用 sh (cqlsh GIVEN_IP_GCE_LB) 进行连接,但是当我尝试使用节点的 datastax 驱动程序将数据添加到 Cassandra 时,我得到了这个:

我的第一个想法是我也需要公开其他端口,所以我做了(节点内,tls-intra-node,jmx),但这是同样的错误。

Kubernetes 允许您访问代理,我尝试使用为 pod 构建的 URL 从我的机器进行代理,以测试我是否可以访问,但我无法使用 cqlsh 连接:

我没有想法,剩下要尝试的一件事是公开每个实例(为每个实例创建一个服务),这非常丑陋,但它会让我从外部连接到节点,直到我将应用程序迁移到 Kubernetes。

有没有人知道如何将 Cassandra 节点公开到 Internet 并使 Datastax 驱动程序知道所有节点?感谢您的时间。

0 投票
0 回答
64 浏览

solr - DSE:Solr 索引延迟会干扰集成测试

我正在使用具有多个 Cassandra 和 Solr 索引的 Datastax 企业,使用 node.js 驱动程序。在编写通过 solr 运行测试的集成测试时,我注意到了一件不幸的事情。

在这些测试中,有一个设置阶段将记录写入 Cassandra。以下步骤查询 Solr 和 assets 一些数据。

问题是,由于 Solr 可能需要一些时间来索引来自 Cassandra 的数据,所以我认为没有办法让断言步骤等待 Solr 索引完成。

我尝试将 solrconfig autoSoftCommit/maxTime 修改为 1,并打开实时索引(true),但它只能部分工作。

有没有办法让 node.js 驱动插入方法等待 solr 索引完成?有没有办法在不延迟断言的情况下通过一些随机超时来解决这个问题?

0 投票
2 回答
102 浏览

datastax-enterprise - dse 图 5.1,nodejs 驱动程序,gremlin 查询没有负载平衡

我正在使用 datastax 企业图 5.1。

我的后端服务(基于 nodejs)使用 datastax nodejs 驱动程序与 dse 图交互。

我的 Datastax 图部署在由两个数据中心组成的集群上,每个数据中心有两个节点。一个数据中心专用于 gremlin 图查询,另一个用于支持 solr(文本搜索)的 gremlin 查询。

每个节点都是一个 EC2 实例 m4.xlarge,具有 800GB 的 ebs 磁盘 (ssd)。

到目前为止,一切都很好。

最近我开始在后端进行负载测试。

当我监控节点的负载时,我可以看到只有一个节点被 gremlin 查询命中,在 90% cpu 时,其他节点根本没有加载(2-3% cpu)。

这很奇怪,因为根据文档,负载平衡是由 nodejs 驱动程序执行的,所以我相信当我启动 gremlin 查询时,至少应该命中 gremlin 数据中心的两个节点。

事实并非如此,因此,我无法使用集群的全部容量,这是浪费钱!

我错过了什么?

提前致谢!

0 投票
1 回答
319 浏览

node.js - Cassandra Datastax Node.js 驱动程序找不到密钥空间

刚刚安装了 Cassandra (3.11.1) 和 Datastax node.js 驱动程序 (3.3.0)。

创建了一个简单的结构:

尝试连接到密钥空间但没有成功:

错误:Keyspace 'CaseBox' does not exist。如果我将所需的 kayspace 更改为system它可以工作。怎么了?请协助。

你可以在这里找到我完整的 Cassandra 配置、CQL 和 js 脚本。

0 投票
1 回答
786 浏览

node.js - Cassandra nodejs eachRow在数据库查询完成之前返回

我正在使用 Cassandra 和 nodejs 来获取 eachRow 的大表。

我需要在每一行上插入数据,但由于某种原因,它没有等待查询,而是在完成之前完成。

有什么建议么?

0 投票
1 回答
66 浏览

node.js - 通过Bitnami VM + nodejs应用程序认证的Azure + Cassandra:无法从远程应用程序连接到cassandra

使用 datastax nodejs 驱动程序:'cassandra-driver'

在我的 nodejs 应用程序服务器后端连接到数据库:

输出日志:

问题:

  • 我应该在默认cassandra.yaml文件上编辑一些东西吗?如果是这样,是什么?

  • 我应该对防火墙做些什么吗?如果是这样,是什么?

  • 我应该传递更多选项new cassandra.Client({ contactPoints: [ '${azure_vm_ip}' ] })吗?如果是这样,什么?

0 投票
1 回答
428 浏览

cassandra - 如何在 cassandra 中创建非原子批处理(或等效)语句

我正在使用来自 Cassandra 的 DataStax Nodejs 驱动程序,我想要做的是避免在我的应用程序中插入时会发生非常频繁的 I/O 操作。我将每秒执行大约 1000 次插入,并希望将所有内容组合在一起并执行 1 个 I/O,而不是运行会导致 1000 个 I/O 的单个查询。我遇到了像下面这样的批处理语句,

这里的问题是它们是原子的。我希望其他语句成功,即使其中一个失败。我可以做些什么来实现这一目标吗?

0 投票
3 回答
452 浏览

node.js - Nodejs Cassandra自动分页不起作用

我正在使用 Cassandra + Solr,查询使用“solr_query”,总是得到多达 10 个结果。这是来自的金额:

我正在使用 eachRow 对结果进行分页,但它不起作用,它只得到前 10 个结果,仅此而已。

在 fetchSize 我已经放了 100 并且仍然只得到 10 个结果,如果我将 LIMIT 添加到查询中,它将起作用但仍然不能分页,它在第一页之后停止。

-- UPDTAE 我也尝试使用这个函数,结果相同(10):

0 投票
1 回答
141 浏览

node.js - 对于 Datastax NodeJS Cassandra Driver 3.5,默认的 ReconnectionPolicy 是什么?

我们使用 Apache Cassandra 3.11.2 和 Node.js,使用 Datastax NodeJS 驱动程序 3.5。不幸的是,文档通常没有什么帮助。到目前为止,我无法从我所阅读的所有内容中看出,如果您不指定,默认的 ReconnectionPolicy 是什么?

0 投票
1 回答
260 浏览

node.js - 在使用带有多直流设置的 express cassandra 时需要帮助

你好堆栈溢出社区!

我需要一些帮助来找出在 nodejs 中使用 express cassandra orm 模型为我的多 dc(总 dc =2)cassandra 设置建立连接的正确方法。

我们目前仅使用 1 个 dc 和 express cassandra,因此我们只需提供 2 个种子节点 IP 地址作为 express cassandra 的联系点,如下所示

这里要注意的是,我们将 cassandraContactPoints 指定为仅包含现有 dc 的 2 个节点的数组。

由于我们正在使用单独的 DC 进行分析,我想知道我们是否应该在同一个数组中提供新 DC 的 IP 地址,即 cassandraContactPoints ?我们计划使用 LOCAL_QUORAM 并希望我们的分析应用程序仅使用分析 dc 进行所有读取和写入。

我已尝试阅读 express cassandra 和“cassandra 驱动程序”模块的源代码,但我无法找出解决方案>

这里的任何帮助将不胜感激!