我是卡桑德拉的新手。我尝试了这两个简单的设置:单个数据中心集群。但是我不明白为什么第二个不起作用?
所有节点均已安装cassandra 3.3,其配置为链接:https : //docs.datastax.com/en/cassandra/3.x/cassandra/initialize/initSingleDS.html
设置1:
数据中心:dc1
===============
状态=上/下| /状态=正常/离开/加入/移动
-地址加载令牌拥有主机ID机架
联合国192.168.1.201 4.57 MB 256吗?a0138a81-45f9-4df5-af97-362c1bd2e242 rack1
联合国192.168.1.202 1.67 MB 256?e8a73b59-8852-4e3d-951e-bf8e231d6b5f rack1
联合国192.168.1.203 4.87 MB 256吗?7b02c94c-14c5-4b34-8a0d-dc16dec8c1f9 rack1
所有3个节点都启动!
设置2:
数据中心:dc1
===============
状态=上/下| /状态=正常/离开/加入/移动
-地址加载令牌拥有主机ID机架
联合国192.168.1.201 3.87 MB 256吗?a0138a81-45f9-4df5-af97-362c1bd2e242 rack1
联合国192.168.1.202 2.54 MB 256?42bcba40-3941-43af-b694-06c1d4f615cc rack1
联合国192.168.1.203 3.77 MB 256?7b02c94c-14c5-4b34-8a0d-dc16dec8c1f9 rack1
DN 192.168.1.204 1.67 MB 256位?e8a73b59-8852-4e3d-951e-bf8e231d6b5f rack1
如您所见,节点192.168.1.204处于关闭状态(出于测试目的,我将其强制关闭),而其他3个节点仍处于启动状态!但是,它不会工作。每次我运行查询时,都会返回错误(使用DevCenter GUI工具):“在一致性QUORUM上没有足够的副本可用于查询(需要2个,但只有1个处于活动状态)”
如果我使用nodetool删除节点192.168.1.204,并且SETUP 2变为SETUP 1,则它将再次起作用。
我认为SETUP 2应该和SETUP 1一样好?
有人可以解释为什么吗?
要达到法定数量(超过一半),您需要副本数/ 2 + 1。
您有一个4节点群集,其中3个群集。复制因子为2时,您需要两个节点都达到(2/2+1 = 2 of the 2 replicas)
法定人数才能成功。如果您拥有的一条数据属于关闭的节点,则您将无法满足仲裁要求,因此您会收到该错误。ONE
但是,如果具有一致性级别,它将起作用。为了减少1个节点并仍然能够达到法定人数,您需要将复制因子设置为至少3 (3/2+1 = 2 of the 3 required)
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句