我尝试使用node-cassandra-cql与cassandra(1.1.12)通信,但当我尝试一个简单的连接:
节点connect.jsconnect.js来源:
var cql = require('node-cassandra-cql');
var client = new cql.Client({hosts: ['localhost'], keyspace: 'LIBRE'});
client.execute('SELECT * FROM Persons', [],
function(err, result) {
if (err) {
console.log('execute failed', err);
} else {
for (var i = 0; i < result.rows.length; i++) {
//console.log('id=' + result.rows[i].get('id') + ' test_value=' + result.rows[i].get('test_value'));
console.log(result.rows[i].get('Name'));
}
process.exit(0);
}
}
);
返回错误:
execute failed {[PoolConnectionError]名称:"PoolConnectionError",info: '尝试连接池时出现错误,所有连接都失败了。',individualErrors:[{[错误:connect ECONNREFUSED]代码:"ECONNREFUSED",errno:"ECONNREFUSED",sycall: 'connect'}],栈:'未定义n(事件循环)n在客户端。执行(/var/www/clients/client1/web1/web/node_modules/node-cassandra-cql/index.js:189:9)n at Object。(/var/www/clients/client1/web1/web/connect.js:6:8)n at Module。_compile (Module. js:456:26)n at Object.Module._extensions. js (Module. js:474:10)n at Module. js加载(module.js:356:32)nn n at Function.Module.runMain (module.js:497:10)n at startup (node.js:119:16)n at node.js:906:3',查询:'SELECT * FROM Persons'}
我尝试指定一个端口(9160),但它是相同的问题。
谢谢你的帮助
西蒙如描述所述,node-cassandra-cql(以及其他使用Cassandra二进制协议的驱动程序)仅适用于Cassandra 1.2或以上版本。