2017-09-14 12 views
0

GCPを使用していて、外側からcassandraを接続したいと思います。 は、すでに私は127.0.0.1と完全にクエリに、次のコード変更を使用することができGCPGCP(Googleクラウド)にcassandra DBを接続できません

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

にファイアウォールを追加します。 しかし、私は外にこのコードを実行し、GCP 35.190.233.64に接続する場合は、クライアントのためにそのIPアドレスから聞きたいと、それは、この場合、

{ [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

の原因となりますcabandra.yamlファイルにrpc_addressを指定する必要があります。

詳細については、cassandra.yaml configuration docを参照してください。

+0

ありがとうございます。私は更新や削除用ではないクエリのみを設定することはできますか? –

+0

サーバーレベルで構成する必要があります。 ACLについては、ロールベースのACLを参照できます。https://www.datastax.com/dev/blog/role-based-access-control-in-cassandra – jorgebg

関連する問題