2017-09-14 109 views
0

我使用GCP并希望从外部连接cassandra。 已经在GCP无法在GCP上连接cassandra数据库(谷歌云)

cassandra-rule Apply to all IP ranges: 0.0.0.0/0 tcp:9042, tcp:9160 Allow 1000 default

我可以使用下面的代码更改为127.0.0.1和查询完美添加防火墙。 但如果我在外面跑这个代码,并连接到GCP 35.190.233.64就会造成

{ [Error: All host(s) tried for query failed. First host tried, 35.190.233.64:9042: Error: connect ECONNREFUSED 35.190.233.64:9042. See innerErrors.] 

代码

var cassandra = require('cassandra-driver'); 
    var client = new cassandra.Client({ contactPoints: ['35.190.233.64'], keyspace: 'tutorialspoint' }); 

client.execute("select * from emp", function (err, result) { 
    if (!err) { 
     console.log(result) 
    } else { 
     console.log(err) 
     console.log("No results"); 
    } 
}); 

回答

0

在这种情况下,只要你想从该IP地址的客户端侦听连接时,必须指定在cassandra.yaml文件rpc_address

更多信息,请参见cassandra.yaml configuration doc

+0

谢谢,我还可以只为查询设置不更新和删除吗?或者一些acl? –

+0

您必须在服务器级别配置它。关于ACL,您可以查看基于角色的ACL:https://www.datastax.com/dev/blog/role-based-access-control-in-cassandra – jorgebg