元数据是否存储在 Cassandra 集群的每个节点中?
Is metadata is stored in every node of Cassandra cluster?
在Cassandra集群中,假设Cassandra集群有节点A、B和C,那么节点A是否也有节点B和C的所有元数据信息?反之亦然?
我们是否会有任何单独的节点拥有所有其他节点的元数据信息?
system
(以及最近版本的 system_schema
)密钥空间[s] 保存每个节点上的元数据,它们与不同的机制保持同步。如果您查看这些键空间的模式:
# describe keyspace system;
CREATE KEYSPACE system WITH replication = {'class': 'LocalStrategy'} AND durable_writes = true;
您可以看到 LocalStrategy
复制策略,这意味着对它的更改不会分发,而只会应用于本地节点。 Gossip 用于识别节点是否具有过时的模式并启动更新。
所有与模式无关的数据,以及哪些节点拥有哪些令牌,实际上都只与该节点相关,不会以任何方式分发。例如 compactions_in_progress
仅用于该节点压缩。其他节点压缩或它的 sstables 状态与其他节点无关。
在Cassandra集群中,假设Cassandra集群有节点A、B和C,那么节点A是否也有节点B和C的所有元数据信息?反之亦然?
我们是否会有任何单独的节点拥有所有其他节点的元数据信息?
system
(以及最近版本的 system_schema
)密钥空间[s] 保存每个节点上的元数据,它们与不同的机制保持同步。如果您查看这些键空间的模式:
# describe keyspace system;
CREATE KEYSPACE system WITH replication = {'class': 'LocalStrategy'} AND durable_writes = true;
您可以看到 LocalStrategy
复制策略,这意味着对它的更改不会分发,而只会应用于本地节点。 Gossip 用于识别节点是否具有过时的模式并启动更新。
所有与模式无关的数据,以及哪些节点拥有哪些令牌,实际上都只与该节点相关,不会以任何方式分发。例如 compactions_in_progress
仅用于该节点压缩。其他节点压缩或它的 sstables 状态与其他节点无关。