我需要在n台机器上创建k个重叠的cassandra集群(k>>n)。每个集群可以有1到n个节点。我知道这样做的一种方法是为节点所属的每个集群创建一个单独的进程(或docker容器)。然而,我的问题是,我能改变cassandra来允许创建子集群吗?这意味着每个节点上只运行一个cassandra示例,但是我可以控制数据复制和数据放置,这样在一个子集群中,我就可以进行仲裁写入。
nc1teljy1#
不,不可能像您描述的那样定义子集群-每个进程总是有一个cassandra集群。但是cassandra有一个定义机器所在位置的数据中心的概念,以及定义数据如何在数据中心和节点之间复制的键空间。一致性水平,比如, QUORUM 取决于键空间配置。在您的情况下,我会朝着这个方向考虑—定义数据中心,创建必要的键空间,并为这些键空间设置正确的复制因子。
QUORUM
1条答案
按热度按时间nc1teljy1#
不,不可能像您描述的那样定义子集群-每个进程总是有一个cassandra集群。
但是cassandra有一个定义机器所在位置的数据中心的概念,以及定义数据如何在数据中心和节点之间复制的键空间。一致性水平,比如,
QUORUM
取决于键空间配置。在您的情况下,我会朝着这个方向考虑—定义数据中心,创建必要的键空间,并为这些键空间设置正确的复制因子。