2017-09-14 6 views
0

GCP를 사용하며 외부에서 cassandra를 연결하려고합니다. 이미 GCP (Google 클라우드)에 cassandra DB를 연결할 수 없습니다.

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

내가 완벽하게 127.0.0.1 및 쿼리에 다음 코드를 변경 사용 할 수 GCP

에 방화벽을 추가 할 수 있습니다. 하지만 외부에서이 코드를 실행하고 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

의 원인이됩니다 연결하려면 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

관련 문제