我一直在测试CouchBase,以了解CouchBase中复制和一致性的工作原理。
我已经在4个服务器上安装了4个节点,并创建了1个带3个副本的存储桶,并创建了1500,000 kv对。
创建数据后,我只需使用命令(service couchbase-server stop)停止其中一个节点上的couchbase服务器
在管理界面上,它显示我有1000000 kv对apprx,它显示了正确的项目数。
简单的计数视图显示了与错误消息相同的结果,告诉我一个节点不可用:
{"rows":[
{"key":null,"value":1058754}
],
"errors":[
{"from":"http://192.168.100.9:8092/_view_merge/?limit=10","reason":"{econnrefused,[{lhttpc_client,send_request,1},\n {lhttpc_client,execute,9},\n {lhttpc_client,request,9}]}"}
]
}
我确实理解错误信息,但为什么项目计数会像这样改变,即使我已经设置了3个副本的存储桶?
答案 0 :(得分:0)
当节点从群集中消失(停止或失败)时,在发生故障转移之前,数据不可用。 (这可以是手动或自动)。
您需要对节点进行故障转移以获取所有可用数据,并且大部分时间都是在故障转移后进行重新平衡。
请参阅http://www.couchbase.com/docs/couchbase-manual-2.0/couchbase-admin-tasks-failover.html