2017-09-14 104 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