3つのEC2インスタンスを持つcouchbaseサーバーセットアップがあります。最初のインスタンスはデータベースサービスのみを実行し、2番目のインスタンスはインデックスサービスを実行して&番目のインスタンスはクエリサービスを実行しています。Couchbaseマルチサーバーセットアップ問題
インデックス&クエリーサーバーは、thisの記事から参照される「サーバーノード」オプションの下の「サーバーの追加」オプションを持つcouchbaseウェブコンソールを使用してデータサーバーに追加されます。
たとえば、Nodejs SDK、オットマンを使用してサーバーに存在するバケットに接続して新しいユーザーを作成する必要がある場合、バケットに接続できますが、ドキュメントを保存することはできませんバケツと私に "セグメンテーションフォールト(コアダンプ)"エラーが発生します。
サーバーの設定方法を変更する必要がある場合、または上記の例をどのように進めてユーザーを作成する必要があるかご連絡ください。
ソフトウェアバージョン: のCouchbase:4.5 CouchbaseのNodejs SDK:2.2 オスマン:1.0.3
この機能は、うた-4.3 Nodejsを使用してAWSラムダから実行されています。
エラーは「セグメンテーションフォルト(コアダンプ)」です。
以下は、私が試してみましたAWSラムダ関数である:あなたがテストする(ノード・ラムダを使用して)ローカルに上記の関数を実行すると
var couchbase=require('couchbase');
var ottoman=require('ottoman');
var config = require("./config");
var myCluster = new couchbase.Cluster(config.couchbase.server); // here tried connecting to either data/index/query server
ottoman.bucket = myCluster.openBucket(config.couchbase.bucket);
require('./models/users');
ottoman.ensureIndices(function(err) {
if (err) {
console.log('failed to created neccessary indices', err);
return;
}
console.log('ottoman indices are ready for use!');
});
var user = require('./models/users');
exports.handler = function(event, context) {
user.computeHash(event.password, function(err, salt, hash) {
if (err) {
context.fail('Error in hash: ' + err);
} else {
user.createAndSave("userDetails details sent to the user creation function", function (error, done) {
if (error) {
context.fail(error.toString());
}
context.succeed({
success: true,
data: done
});
});
}
});
};
それは同じ「セグメンテーションフォールト(コアダンプ)」エラーになりますラムダにアップロードし、それが次のエラーを与えて試験したときと:事前
ソフトウェアのバージョン番号、サンプルコード、およびエラー出力を追加できますか? – Kirk
@kirkは、ソフトウェアのバージョン番号、サンプルコード、およびエラー出力で質問を更新しました。 –