Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Javascript中正确设置Cassandra客户端?_Javascript_Node.js_Cassandra_Cassandra 2.1 - Fatal编程技术网

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

如何在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

现在,我在管理一个码头工人,上面有卡桑德拉。我有一个javascript文件,它位于docker外部,需要连接到Cassandra。我发现了一个连接w/JS的节点包,名为
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.