2016-07-19 3 views
1

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 
      }); 
     }); 
    } 
}); 
}; 

それは同じ「セグメンテーションフォールト(コアダンプ)」エラーになりますラムダにアップロードし、それが次のエラーを与えて試験したときと:事前

+0

ソフトウェアのバージョン番号、サンプルコード、およびエラー出力を追加できますか? – Kirk

+0

@kirkは、ソフトウェアのバージョン番号、サンプルコード、およびエラー出力で質問を更新しました。 –

答えて

2

{ 
"errorMessage": "Process exited before completing request" 
} 

おかげでこれは(あなたが使用しているMDSのシナリオに関連する既知の問題ですhttps://issues.couchbase.com/browse/JSCBC-316)。これは、8月初旬の次回リリースで解決されます。