问题标签 [express-cassandra]

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

node.js - Express Cassandra 从目录中自动加载模型 - models.instance.Person 不是构造函数

我基本上是在尝试从express-cassandra教程中实现一个人模型。

我从model文件夹中自动加载模型时遇到问题。我的模型位于/models/PersonModel.js.

初始化代码在上index.js一层。这只是教程中的复制粘贴。初始化效果很好,不会引发错误。

当我尝试插入条目时出现问题。我得到一个错误TypeError: models.instance.Person is not a constructor。原因是我猜该模型没有自动加载。在模型对象的转储中,我可以看到目录设置正确并且实例模型为空。

我尝试按照教程进行操作。我错过了什么吗?有没有人自动加载模型的工作示例?

0 投票
1 回答
114 浏览

node.js - express-cassandra 正在将 Long 值转换为负值

我正在使用express-cassandranpm 包连接到数据库,下面的代码在将Long值转换为Integer.

结果是:-

=> 长:-1152696320

=> 长:-5130977905315463616

我不明白为什么这是巨大的差异以及为什么这会返回负值。

0 投票
1 回答
580 浏览

express-cassandra - 使用 express-cassandra 在 nodejs 中绑定模型

我只想应用以下教程的绑定并应用于我的项目: http ://express-cassandra.readthedocs.io/en/latest/usage/

我当前的模型位于名为 UserModel.js 的模型目录中:

index.js 绑定最后一个模型:

连接正常,但是在成功连接到 casandra db(localhost:9042) 后,它向我显示一条消息:“Keyspace user_schema 不存在” 谁能给我一个解决这个问题的想法?可能没有加载模型,但看起来还可以,但是在加载模型之前它不识别密钥空间,而且它是我数据库的正确密钥空间

0 投票
0 回答
741 浏览

node.js - cassandra中非主键的IN谓词

我正在通过 cqlsh 执行以下查询。

我得到了预期的输出。

在尝试使用 node.js 和 express-cassandra 驱动程序执行相同的查询时,我得到:

我的 node.js 代码如下:

这是我正在使用的驱动程序的问题,还是有任何解决方法可以执行此查询?

0 投票
0 回答
1344 浏览

node.js - Cassandra 错误:经常出现 NoHostAvailableError

我在网络上有一台 CentOS 机器。在其中我尝试通过 express-cassandra node_module 使用 NodeJS 连接 Cassandra。当我启动我的应用程序时,它会给我以下错误日志。

我试图在其他链接的帮助下更改 rpc_address、listen_address,但仍然面临问题。

这是绑定模型的代码

上面的代码工作正常。现在我想在不绑定模型的情况下连接到键空间。所以尝试了以下代码。

但我无法连接到 cassandra。我在这里做错什么了吗?

0 投票
1 回答
1061 浏览

node.js - 创建表时出现 Express-Cassandra OperationTimedOutError

我正在对 Cassandra 使用 express-Cassandra ORM 和 DB 操作。

环境:版本:2.1.1 nodejs 8.9.1 cassandra:3.9 Cent OS:6.0

面对这个问题,在 Cassandra 中初始化模型时运行 nodejs 时,我需要多次重启 nodejs 以初始化所有模块。

出现超时错误:原因:{ apollo.model.tablecreation.dbindexcreate:在数据库表上创建索引时出错 - > NoHostAvailableError:所有主机都尝试查询失败。第一个主机尝试,127.0.0.1:9042:OperationTimedOutError:主机 127.0.0.1:9042 在超时 12000 毫秒之前没有回复。请参阅内部错误

因此,在重新启动多重时间后,我能够完成 cassandra 初始化。

以及如何解决这个问题,或者如何找到更多日志的位置以及这个内部错误是什么?

谢谢,詹姆斯

0 投票
1 回答
154 浏览

express - 多节点 cassandra 设置 + 连接出错

所以我正在尝试设置多节点 cassandra 集群。

我在 3 个不同的服务器上设置了 3 个 cassandra 节点。在所有三个 cassandra.yaml 文件中,我都定义了同一个种子节点。清除数据并一一重新启动服务后,我可以看到它们出现了,并且nodetool状态显示所有条目的UN。现在我使用 express-cassandra 连接到 cassandra,它工作得很好,但它只适用于前几个查询,之后,它只是崩溃并出现以下错误 -

Error during find query on DB -> ResponseError: Server failure during read query at consistency ONE (1 responses were required but only 0 replicas responded, 2 failed)

它在哪个读取查询上失败并不重要,但它会持续 10 秒然后它就死了。有时它会在上次运行成功的查询上死掉。另外,我只是想知道,如果有 3 个节点(一个种子节点),为什么它说 2 失败?

我注意到,express-cassandra 通知复制因子已更改并运行 nodetool 修复,但我不断收到以下错误消息 -

Validation failed in /xxx.xxx.xxx.xxx (progress: 0%) [2018-07-02 08:10:33,447] Some repair failed

xxx.xxx.xxx.xxx三个节点 IP 地址之一在哪里。我尝试在每个节点上运行 nodetool 修复,但我在每个服务器上不断收到相同的错误。

这些是我的 express-cassandra 设置属性(xxx.xxx.xxx.xxx 是我的种子 IP 地址):

我不确定 NetworkTOpologyStrategy 是否设置正确,但在启动 express.js 后,我对数据库运行了一个写入查询,它在所有三个节点上填充了数据。

解决这两个错误的任何帮助都会很棒!

0 投票
1 回答
715 浏览

node.js - Express-Cassandra 在单个列的同一查询中从 SET 数据类型进行多值搜索

在 Express Cassandra 中,我有一种使用“包含”关键字从表中获取数据的方法,其中数据类型为 SET 现在我从表中获取数据,同时在包含中使用单个值,下面给出了我的自定义查询

现在,问题是,我需要通过多个值来检查它。但我不知道它在查询中的位置。谷歌,但只是浪费我的时间。任何人都可以帮助我。纳克斯

0 投票
1 回答
29 浏览

cassandra - 对 Cassandra 表进行非规范化以支持具有附加参数的类似查询的适当方法

我的数据模型非常简单。它模拟对网页的访问。

这是我的访问模型的样子(语法是express-cassandra 模式语法):

我对这个模型有几个问题:

问题一:

我很确定我想存储 URL 的各个部分而不是将整个 URL 存储为单个字符串,因为它允许我更轻松地运行查询以访问特定域、访问域中的特定路径、访问安全页面与访问不安全页面,从安全页面到不安全页面(或相反)的链接等。

但是,将 URL 的各个部分存储为 A) 单个列或 B) 作为单个 Map column 会更好吗

另外,我是否必须创建具有不同主键的附加表才能支持来自对 url 不同部分的查询的所有各种查询?

问题2

我将有许多不同的方式来查询数据。

  • 获取所有用户的所有访问
  • 获取单个用户的所有访问
  • 获取给定日期的所有访问量或在给定日期内按小时分组
  • 获取对给定域的所有访问
  • 计算对按路径分组的给定域的所有访问

那么,考虑到各种不同类型的查询,我应该如何存储这个模型?

我目前基本上将完全相同的字段存储在多个表中,只是具有不同的主键(一个表只有(id)支持“获取所有用户的所有访问”,另一个表(id,userId)支持“获取所有访问对于特定用户”等。

这就像它创建数据的多个副本只是为了支持基本相同的查询,但在 where 子句中添加了一个附加条件。

有没有更好的方法来建模这个?

0 投票
1 回答
211 浏览

elasticsearch - 如何设置 esrally 以与 elassandra 和我自己的测试一起使用?

我想知道其他人是否尝试使用esrally对Elassandra进行基准测试(更具体地说,我正在使用express-cassandra)。如果这不是测试 Elassandra 的好解决方案,我希望不要在 esrally 上花费更多时间。

阅读文档,看起来 Rally 能够从头开始:下载 Elasticsearch,安装源代码,构建它,运行它,连接,创建一个完整的模式,然后开始使用填充模式的数据进行测试(可能使用一些随机数据完成),做查询,...

我已经准备好了所有东西,我唯一真正想看到的是一些东西,例如:

  • 10 种不同的内存设置中哪一种更快。
  • 哪种类型的搜索有效,无论我现有软件中的选项 1、2 和 3 是否会造成严重的减速...
  • 搜索时插入是否会影响我的搜索速度。

除了内存之外,我不会更改许多参数(-Xmx, -Xms,也许还有其他一些参数......比如单独堆中的缓存行。)当然,我想使用最新的 Elassandra 运行所有测试,而不是考虑重建或任何类似的东西。

通过阅读文档,没有提到 Elassandra。我在谷歌中发现了两页关于用 esrally 和 Elassandra 进行测试的内容,但这并没有增强我对它可行的信心......

我想我必须使用benchmark-only管道。这至少消除了源、构建等的所有收集。我想它也减少了我在结果基准测试中获得的参数数量,但我不需要所有细节......

你有过这样的设置经验吗?(埃拉桑德拉 + esrally)