gpt4 book ai didi

node.js - 如何将 Node.js 应用程序正确连接到 Cassandra Node ?

转载 作者:太空宇宙 更新时间:2023-11-03 23:15:02 25 4
gpt4 key购买 nike

我有两个 Cassandra Node 托管在两个 IP 上。现在,当我从 Windows 通过 Node.js 中的 cassandra-driver 连接到这些 Node 之一时,我收到“连接超时”和“主机无法访问”等错误。不过,我可以通过 CQLSH 从网络外部连接到这些 Node 。

我做错了什么吗?这是示例代码。

var cassandra = require('cassandra-driver');

var uuid = require('uuid')
var client = new cassandra.Client({ contactPoints: ['(PUBLIC IP Here) X.X.X.X:9042'], localDataCenter: 'datacenter1', keyspace: 'ksks' });

function getAllPersons() {
var query = 'SELECT * FROM person';
return new Promise((resolve, reject) => {
client.connect(function (err) {
if (err) return console.error(err);
else {
client.execute(query, function (err, result) {
if(err) {
reject([])
}
else {
if(result.rows.length) {
resolve(result.rows);
}
else {}
reject([])
}
});
}
});
});
}

在 cassandra.yaml 中,我有以下值:

listen_address: 10.0.0.4
native_transport_port: 9042
rpc_address: 10.0.0.4
rpc_port: 9160
api_port: 10000
api_address: 10.0.0.4

我需要改变什么?这些 Node 工作正常,并且可以相互进行 CQLSH(也可以从远程网络)。

最佳答案

如果您使用公共(public) IP 远程访问集群,则您的配置不正确。

此表可以帮助您找出 scylla.yaml 中的正确 IP:

https://docs.scylladb.com/operating-scylla/procedures/cluster-management/ec2_dc/#ec2-configuration-table

除非您使用的是 AWS,否则请勿使用 Ec2Snitch。该表仅供引用。

关于node.js - 如何将 Node.js 应用程序正确连接到 Cassandra Node ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56523458/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com