我有一个共用三个节点的群集。我们在内部创建了一个桶,并将桶副本的数量设置为2.除了RAM配额设置为每节点10g,即总RAM配额为30g。

我使用客户端将数据保存到此桶中。几小时后,客户端印刷临时失败错误。 Couchbase Web控制台显示桶RAM达到29G.Repeated数据压缩,但RAM不再缩小。

我的问题是如下组织。

1,我猜桶中的键只能保存到RAM中,但不在硬件,右或错误中保存?

2,返回29g数据,它不能压缩成硬件,是键或不键?

3,返回每个节点保存其他节点的副本信息在硬件中保存在硬件中?如果没有,那么它如何保存。

4,每次客户端保存数据时,它将利用哈希函数来评估Vbucket,以便判断数据将保存的节点。是在客户端携带的进程吗?

有帮助吗?

解决方案

响应您的具体问题:

1,我猜桶中的键只能保存到RAM中,但不在硬件,右或错误中保存?

如果用硬件你的意思是磁盘;然后,当前的CouchBase必须在RAM中保存所有文档密钥(以及一些附加元数据)。这是为了确保可以立即回答对密钥的任何请求,都在正面(“是的,此键存在,这是它的值)和否定(”否,这样的键不存在。)“

2,返回29g数据,它不能压缩成硬件,是键或不键?

其中一些可能是元数据。如果您转到 Bucket 选项卡并通过单击它的名称显示它的统计信息,您可以看到所用的内存量 - 特别是在 Vbucket Resources 选项卡下看看多少用于元数据和用户数据。查看 couchbase管理指南 - 查看桶和群集统计更多详细信息。

3,返回每个节点保存其他节点的副本信息在硬件中保存在硬件中?如果没有,那么它如何保存。

副本元数据也始终保持在RAM中,但副本值(如活动值)可以将其弹出到磁盘以释放内存。

4,每次客户端保存数据时,它将利用哈希函数来评估Vbucket,以便判断数据将保存的节点。是在客户端携带的进程吗?

是vbucket散列在客户端上完成 - 请参阅架构和概念 - vbuckets 部分在管理指南中。


一般来说,您可能需要查看调整章节在管理指南中,确定您的内存是多少用于存储密钥元数据 - 特别是内存大小化部分。确切的计算取决于CouchBase的版本(所以我在这里不复制)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top