javascript - 如何在 Javascript 中正确设置 Cassandra 客户端?

标签 javascript node.js cassandra cassandra-2.1

现在,我正在运行一个带有 Cassandra 的 docker。我有一个位于需要连接到 Cassandra 的 docker 之外的 javascript 文件。我找到了一个与 JS 接口(interface)的 Node 包,称为 cassandra-driver。但是,使用以下代码:

var cassandra = require('cassandra-driver');
var PlainTextAuthProvider = cassandra.auth.PlainTextAuthProvider;
const client = new cassandra.Client({
    contactPoints: ['127.0.0.1:9042'],
    localDataCenter: '127.0.0.1',
    keyspace: 'wasabi_experiments',
    authProvider: new PlainTextAuthProvider('cassandra', 'cassandra')
});

我明白了

(node:17836) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): NoHostAvailableError: All host(s) tried for query failed. First host tried, 127.0.0.1:9042: ArgumentError: localDataCenter was configured as '127.0.0.1', but only found hosts in data centers: [datacenter1]. See innerErrors.
(node:17836) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 2): NoHostAvailableError: All host(s) tried for query failed. First host tried, 127.0.0.1:9042: ArgumentError: localDataCenter was configured as '127.0.0.1', but only found hosts in data centers: [datacenter1]. See innerErrors.

我怎样才能让它发挥作用?

最佳答案

您的问题是您正在使用 127.0.0.1 作为 localDataCenter 参数的值,但它不应设置为机器地址,而应设置为Cassandra 数据中心的名称 - 在您的例子中是 datacenter1。将该参数的值更改为 datacenter1,它将开始工作。

它会是:

const { Client, auth } = require('cassandra-driver');
const client = new cassandra.Client({
    contactPoints: ['127.0.0.1:9042'],
    localDataCenter: 'datacenter1', // here is the change required
    keyspace: 'wasabi_experiments',
    authProvider: new auth.PlainTextAuthProvider('cassandra', 'cassandra')
});

client.connect();

附言我建议阅读 documentation for Node.js driver , 还有 "Developing applications with DataStax drivers" guide .

关于javascript - 如何在 Javascript 中正确设置 Cassandra 客户端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59219971/

相关文章:

javascript - 从 discord.js 中的消息获取表情符号 url

cassandra - 赫克托分量相等

javascript - 不使用 form.reset 重置输入和文本区域字段

javascript - 我有一个输入类型文件列表,它仅接受图像..添加图像时如何查看图像?

javascript - 如何实现可重用的回调函数

spring-boot - 如何使用 Spring Boot 和 Cassandra 将枚举持久化为序数?

python - Pyspark Cassandra - 为类型为 "struct"的 Spark 数据帧列创建正确的用户定义类型 (UDT)

javascript - css动画定时/缓动功能仅在第一次有效

javascript - 高级 JavaScript 源数据 - DataTables

node.js - 为什么我们应该避免在 Ubuntu 上使用 apt-get 安装 Node.js?