私はDSE Enterpriseの最新バージョンで遊んでいます。私はグラフの機能に興味があります。 TitanにはDSEグラフに触発されたオープンソースのグラフデータベースが1つあり、DSE Graphを代替データベースとして評価しようとしています。Titanには多くの管理機能と操作機能がありません。グラフクエリを実行しようとすると、ノードjsドライバからのdseグラフ接続のタイムアウトが発生する
nodejsドライバを使用してdatastaxクラスタ上のグラフのクエリを実行しようとしているときに、私は奇妙な行動を持っている:
私の問題は次のようです。
{
"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
}
}
私が見たとき:クエリが、私はこのように、5〜7秒後に、常に接続タイムアウトエラーが発生します(ドライバnodejs)(私は頂点を追加または削除することができます)作業が、クライアント側にあります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つのノード
- 1クラスタ
- 3データセンターグラフの
- 1データセンターを分析のための1データセンター、1ノード付き
すべての設定はデフォルトです。私はOpsCenterを介してクラスタをインストールし、すべてのノードはec2インスタンス(m4.xlarge)です。
なぜクエリが機能しているのか分かりませんが、成功コールバックにこの奇妙なメッセージが表示されますか?
よろしく、stated in the docsとして
Touficザイード
あなたはそうですが、シャットダウンを使わなくてもこのエラーメッセージが表示されます。 –
'' log''イベントを聞いて、何が起こっているのかを知ることができます: 'client.on( 'log'、console.log)' – jorgebg
大きなヒントJorge!ありがとう、それは私が問題を解決するのを助けた。私は以下の質問に答えます。 –