2016-07-19 63 views
1

我们有三个EC2实例couchbase服务器设置,一审只有数据库服务运行,第二个实例具有运行&第三实例的索引服务有查询服务的运行。Couchbase多服务器设置问题

索引&使用couchbase web控制台将查询服务器添加到数据服务器,该控制台在this文章中引用的“服务器节点”选项下具有“添加服务器”选项。

现在,例如,如果我必须使用Nodejs SDK,Ottoman连接到驻留在服务器上的存储桶并创建一个新用户,那么它可以连接到存储桶,但无法将文档保存在桶,并给我一个“分段错误(核心转储)”的错误。

请让我们知道,如果我们需要做的方式服务器上的任何变化都设置或者我们应该如何与上面的例子中继续前进,使我们能够创建用户。

软件版本: Couchbase:4.5 Couchbase SDK的NodeJS:2.2 奥斯曼:1.0.3

此功能从AWS LAMBDA使用的NodeJS VER-4.3正在运行。

我得到的错误是“分段错误(核心转储)”。

以下是我已经尝试了AWS lambda函数:

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

当你在本地运行上面的功能(使用节点 - 拉姆达)来测试它给出了同样的“分割故障(核心转储)”错误和LAMBDA上传和测试时,它提供了以下错误:

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

在此先感谢

+0

您可以添加软件版本号,示例代码和错误输出吗? – Kirk

+0

@kirk用软件版本号,示例代码和错误输出更新了问题。 –

回答