Couchbase:无法对关闭存储桶执行操作

时间:2014-12-22 20:45:13

标签: node.js couchbase

尝试通过node.js将2M对象插入Couchbase时出现此错误。 1M工作正常。

  

C:\用户\管理员\桌面\ node_modules \ couchbase \ lib中\ bucket.js:   728抛出新错误('无法对关机桶执行操作');

我正在使用Couchbase 3.0.1,node.js 2.0.2 SDK。

这是代码:

     var Couchbase = require('couchbase');

var myCluster = new Couchbase.Cluster('couchbase://10.0.0.103,10.0.0.102,10.0.0.101,');

var myBucket = myCluster.openBucket('rre');


   for (var i = 0;i<1000000;i++)
   {





    myBucket.insert('dwhtryrdue_'+i,  {
    "guid": "003dddbf-da50-46d4-a2aa-319677b5d2be",
    "CampaignID": 22,
    "ZoneID": 29,
    "AdvertiserID": 30,
    "BannerID": 36,
    "UserID": 32,
    "ClickIP": "Bette",
    "ClickHost": "Jerry",
    "ClickReferringURL": "Dejesus",
    "ClickDateTime": "2014-06-09T12:53:22 -00:00",
    "ClickCountry": "Central African Republic",
    "ClickState": "Kentucky",
    "ClickBrowser": "Chrome"
    }, function(err, res) {

    });

    }

5 个答案:

答案 0 :(得分:5)

通过增加超时解决了问题:myBucket.operationTimeout = 120 * 1000;

答案 1 :(得分:5)

当为指定存储桶设置密码时,也可能发生此错误。

验证是否打开Couchbase控制台 - &gt;导航到数据存储区选项卡 - &gt;放下你的水桶 - &gt;点击“编辑”按钮 - &gt;弹出对话框中的第三部分是Access Control,它具有密码文本框。

希望这有帮助,

捷尔吉

答案 2 :(得分:0)

您需要检查couchbase server版本和couchbase npm package版本之间的兼容性。

在我的机器上:

  1. Couchbase服务器为4.5.1-2844 Enterprise Edition (build-2844)
  2. couchbase npm软件包的版本为4.6.2

我的解决方案只是使用2.5.1将沙发床npm软件包降级到npm i --save couchbase@2.5.1

或者您可以升级该长沙发服务器版本(未经测试)。

答案 3 :(得分:0)

我在2019年遇到错误,我通过对集群进行身份验证解决了该错误,因为现在仅应在集群级别授予授权,而无需进行存储桶级别授权。

“ cluster.authenticate('usernameForCluster','passwordForCluster');”

答案 4 :(得分:0)

如果您设置了自定义群集,则需要使用USERNAME和PASSWORD进行身份验证。 因此,在代码中...

var myCluster = new Couchbase.Cluster('couchbase://10.0.0.103,10.0.0.102,10.0.0.101,');
myCluster.authenticate('Administrator', 'adminadmin'); // Add this credential

var myBucket = myCluster.openBucket('rre');

默认情况下,USERNAME是管理员,而PASSWORD将是群集密码(在我的情况下为 adminadmin )。

P.S。-此解决方案尤其适用于错误:无法对关闭存储分区执行操作