저는 DSE Enterprise의 최신 버전을 가지고 놀고 있습니다. 그래프 기능에 관심이 있습니다. 현재 Titan에서 DSE Graph에 영감을 준 오픈 소스 그래프 데이터베이스를 실행하는 프로젝트가 하나 있습니다. Titan에는 많은 관리 및 작동 기능이 없기 때문에 DSE Graph를 대체 데이터베이스로 평가하려고합니다.그래프 쿼리를 실행할 때 nodejs 드라이버에서 dse 그래프 연결 시간 초과가 발생했습니다.
nodejs 드라이버를 사용하여 datastax 클러스터에서 그래프 쿼리를 실행하는 동안 나는 이상한 행동을 가지고
내 문제는 다음과 같다. 쿼리 (I 추가 또는 정점을 삭제할 수 있습니다) 노력하고 있습니다 만, 클라이언트 측에서 (nodejs 드라이버) 나는 다음과 같이 5 ~ 7 초 후에, 연결 시간 초과 오류 항상 얻을 :
{
"statusCode": 200,
"body": {
"info": {
"queriedHost": "xx.xx.xx.xx:9042",
"triedHosts": {
"xx.xx.xx.xx:9042": {
"message": "Connection timeout",
"info": "Cassandra Driver Error"
}
},
"achievedConsistency": 10
},
"length": 1,
"pageState": null
}
}
내가 볼 datastax 스튜디오, 내 쿼리가 작동합니다.
'use strict';
const dse = require('dse-driver');
const dseGraph = require('dse-graph');
const client = new dse.Client({
contactPoints: ['xx.xx.xx.xx'] ,
protocolOptions: {port: 9042},
authProvider: new dse.auth.DsePlainTextAuthProvider("xxx","xxx"),
graphOptions: { name: 'test' }
});
module.exports.create = (event, context, callback) => {
let response = {
statusCode: 200
};
client.executeGraph("graph.addVertex(label,'user','email','[email protected]');").then(function(users) {
response.body=users;
client.shutdown();
callback(null, response);
}).catch(function(err) {
response.statusCode=400;
response.body=err;
client.shutdown();
callback(null, response);
});
};
이 문제가 내 클러스터 구성에있을 수 있습니다 : 여기
코드는 DSE 그래프를 호출하는 데 사용됩니다 ... 새로 추가 된 정점을 볼 수 있습니까? 1 개 노드- 하나의 클러스터
- 3 데이터 센터의 그래프에 대한
- 1 데이터 센터, 2 개 노드 검색
- 1 데이터 센터 과 : 여기 내 토폴로지 분석을위한 1 데이터 센터, 1 노드 포함
모든 설정은 기본값입니다. OpsCenter를 통해 클러스터를 설치했으며 모든 노드는 ec2 인스턴스 (m4.xlarge)입니다.
쿼리가 작동하는 이유는 모르겠지만 성공 콜백에 이상한 메시지가 표시됩니까? 각 쿼리가 실행 된 후
감사합니다, stated in the docs으로
네가 맞아.하지만 셧다운 없이도이 오류 메시지가 난다. –
''log'' 이벤트를 듣고 무슨 일이 일어나는지 볼 수 있습니다 :'client.on ('log', console.log)' – jorgebg
위대한 팁 호르헤! 고맙습니다. 문제 해결에 도움이되었습니다. 나는 아래의 질문에 답할 것이다. –