CouchDB集群数据库分发
我们有一个具有24个节点的CouchDB集群,默认集群设置为CouchDB集群数据库分发,couchdb,Couchdb,我们有一个具有24个节点的CouchDB集群,默认集群设置为q=8和n=3,并且已经创建了100个数据库。如果我们向集群中添加了24个节点并开始创建新数据库,那么它们是否一定会在新节点中创建?CouchDB如何决定将新数据库放在何处 我们正在运行2.3.1中的所有节点。默认情况下,CouchDB将随机为集群中所有节点上的数据库分配碎片,因此新数据库将在新节点和旧节点上都有碎片。它会将碎片分散到尽可能多的节点上,并保证碎片的两个副本永远不会位于同一节点上 如果您希望在新节点上仅托管碎片(例如,因为
q=8
和n=3
,并且已经创建了100个数据库。如果我们向集群中添加了24个节点并开始创建新数据库,那么它们是否一定会在新节点中创建?CouchDB如何决定将新数据库放在何处
我们正在运行2.3.1中的所有节点。默认情况下,CouchDB将随机为集群中所有节点上的数据库分配碎片,因此新数据库将在新节点和旧节点上都有碎片。它会将碎片分散到尽可能多的节点上,并保证碎片的两个副本永远不会位于同一节点上 如果您希望在新节点上仅托管碎片(例如,因为旧节点正在填充),您可以利用“放置”功能。涉及两个步骤:
[cluster]placement
配置设置,告诉服务器在新区域中放置每个碎片的3个副本:[cluster]
placement = new:3