首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >node.js节点-cassandra-客户端请求失败

node.js节点-cassandra-客户端请求失败
EN

Stack Overflow用户
提问于 2012-10-15 21:27:39
回答 1查看 1.6K关注 0票数 11

当我试图查询Cassandra服务器时,我总是遇到同样的问题。我已经安装了node-cassandra-client版本0.9.5。

代码语言:javascript
复制
var Connection = require('cassandra-client').PooledConnection;

var hosts = ['host1:9160','host2:9160'];
var cassandra = new Connection({'hosts': hosts, 'keyspace': 'keyspace'});
cassandra.on('log', function(level, message, obj) {
  console.log('log event: %s -- %j', level, message);
});
var cql = "SELECT * FROM columnFamily LIMIT 1";

cassandra.execute(cql, function(err, rows) {
  if(err) console.log("erreur à la requete");

  console.log(rows);
  cassandra.shutdown(function() {
    console.log("connectoin pool shutdown");
  });
})

看起来连接成功了。但我一直遇到以下错误:

代码语言:javascript
复制
log event: info -- "connecting host:9160(1)"
log event: cql -- "SELECT * FROM columnFamily LIMIT 1"
DEBUG: 
DEBUG: /PATH/cassandra-client/node_modules/thrift/lib/thrift/connection.js:90
DEBUG:         throw e;
DEBUG:               
DEBUG: ^
DEBUG: TypeError: undefined is not a function
  at /PATH/node_modules/cassandra-client/lib/driver.js:701:5
  at /PATH/node_modules/cassandra-client/lib/driver.js:716:15
  at /PATH/node_modules/cassandra-client/lib/driver.js:453:9
  at/PATH/node_modules/cassandra-      client/node_modules/thrift/lib/thrift/connection.js:80:11
  at Object.recv_execute_cql_query (/PATH/node_modules/cassandra-client/lib/gen-nodejs/Cassandra.js:6219:12)
  at /PATH/node_modules/cassandra-cli ent/node_modules/thrift/lib/thrift/connection.js:83:37
  at Socket.<anonymous> (/PATH/node_modules/cassandra-client/node_modules/thrift/lib/thrift/transport.js:69:9)
  at Socket.emit (events.js:67:17)
  at TCP.onread (net.js:347:14)
DEBUG: Program node app.js exited with code 1

无论请求是什么,我总是遇到相同的错误。

EN

回答 1

Stack Overflow用户

发布于 2012-11-08 21:54:47

我知道这有点晚了,但是您正在使用两个参数(查询和回调)调用cassandra.execute,而它却接受三个参数(查询、查询参数列表和回调)。

尝试更改:

代码语言:javascript
复制
 cassandra.execute(cql, function(err, rows) {
     if(err) console.log("erreur à la requete");

     console.log(rows);
     cassandra.shutdown(function() {
         console.log("connectoin pool shutdown");
     });
 })

代码语言:javascript
复制
 cassandra.execute(cql, [], function(err, rows) {
     if(err) console.log("erreur à la requete");

     console.log(rows);
     cassandra.shutdown(function() {
         console.log("connectoin pool shutdown");
     });
 })
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12896621

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档