如何在Javascript中正确设置Cassandra客户端?
现在,我在管理一个码头工人,上面有卡桑德拉。我有一个javascript文件,它位于docker外部,需要连接到Cassandra。我发现了一个连接w/JS的节点包,名为如何在Javascript中正确设置Cassandra客户端?,javascript,node.js,cassandra,cassandra-2.1,Javascript,Node.js,Cassandra,Cassandra 2.1,现在,我在管理一个码头工人,上面有卡桑德拉。我有一个javascript文件,它位于docker外部,需要连接到Cassandra。我发现了一个连接w/JS的节点包,名为cassandradriver。但是,使用以下代码: var cassandra = require('cassandra-driver'); var PlainTextAuthProvider = cassandra.auth.PlainTextAuthProvider; const client = new cassandr
cassandradriver
。但是,使用以下代码:
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')
});
我明白了
我怎样才能让它工作 首先尝试使用Cassandra客户端,确保Cassandra工作正常,并且您可以访问它。之后,请尝试使用代码。
您还可以尝试使用telnet或netcat访问127.0.0.1:9042,以查看端口是否已打开并正在侦听。您也可以使用netstat执行此任务。您的问题是,您使用
127.0.0.1
作为localDataCenter
参数的值,但它不应设置为机器的地址,而应设置为Cassandra数据中心的名称-在您的示例中,这是datacenter1
。将该参数的值更改为datacenter1
,它将开始工作
它将是:
const{Client,auth}=require('cassandra-driver');
const client=new cassandra.client({
接触点:['127.0.0.1:9042'],
localDataCenter:'datacenter1',//这是所需的更改
keyspace:“芥末实验”,
authProvider:new auth.PlainTextAuthProvider('cassandra','cassandra')
});
client.connect();
另外,我建议您阅读,还有。他的连接正常-他只是没有传递正确的参数。谢谢;但现在我得到了
错误:找不到模块“thrift”
我想这可能是安装的原因-不幸的是,我不是Node.js的家伙。你能问一下吗?
(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.