如何获取C*集群的复制因子?
How to get the replication factor of C* cluster?
我在 cassandra.yaml 中找不到它,也许 nodetool 可以为我提供集群配置的复制因子?
复制因子的默认值是多少?
集群没有复制因子,但是您的 keyspaces does.
如果您想查看给定键空间的复制因子,只需执行SELECT * FROM system_schema.keyspaces;
,它将打印您需要的所有复制信息。
考虑使用 DESCRIBE SCHEMA
- 使用 system.schema_keyspaces
可能无法在未来的版本中使用(例如 3.0+,架构移至 system_schema
);
在版本 3.0 + Cassandra 中,您可以从 system_schema.keyspaces
replication 列中的 system_schema
键空间获取 RF 详细信息。
cassandra@cqlsh:system_schema> SELECT * FROM system_schema.keyspaces;
keyspace_name | durable_writes | replication
--------------------+----------------+-------------------------------------------------------------------------------------
system_auth | True | {'class': 'org.apache.cassandra.locator.SimpleStrategy', 'replication_factor': '1'}
system_schema | True | {'class': 'org.apache.cassandra.locator.LocalStrategy'}
system_distributed | True | {'class': 'org.apache.cassandra.locator.SimpleStrategy', 'replication_factor': '3'}
company | True | {'class': 'org.apache.cassandra.locator.SimpleStrategy', 'replication_factor': '2'}
system | True | {'class': 'org.apache.cassandra.locator.LocalStrategy'}
jerry | True | {'class': 'org.apache.cassandra.locator.NetworkTopologyStrategy'}
system_traces | True | {'class': 'org.apache.cassandra.locator.SimpleStrategy', 'replication_factor': '2'}
复制因子定义在键空间级别。
为了查看特定键空间的复制因子,请在 cqlsh 中使用以下查询:
desc KEYSPACE Keyspace_Name;
您将获得输出,其中您可以看到上述键空间的复制因子:
Cassandra 3.11及以上版本:
- 转到 Cassandra 节点上的路径:
cd /usr/local/cassandra/apache-cassandra-3.11.0/bin
- 输入命令:
./cqlsh
(你的Cassandra节点IP)
- 然后输入:
SELECT * FROM system_schema.keyspaces;
输出:您将获得 Cassandra 中所有相应键空间的复制因子
如果您不想使用 cqlsh
并且只想从 终端 打印信息,请使用 nodetool
和名为 describe cluster,像这样:
[user@user ~]$ nodetool describecluster
它将打印非常有用和简短的信息,包括关于键空间的信息,如下所示:
Keyspaces:
system_schema -> Replication class: LocalStrategy {}
system -> Replication class: LocalStrategy {}
system_distributed -> Replication class: SimpleStrategy {replication_factor=3}
system_traces -> Replication class: SimpleStrategy {replication_factor=2}
system_auth -> Replication class: NetworkTopologyStrategy {dc1=3}
如果您正在寻找一个特定的键空间复制信息,只需使用以下命令(在本例中,我们将询问system_auth
键空间信息) :
[user@user ~]$ nodetool describecluster | grep system_auth
..它将打印如下信息:
system_auth -> Replication class: NetworkTopologyStrategy {dc1=3}
我在 cassandra.yaml 中找不到它,也许 nodetool 可以为我提供集群配置的复制因子?
复制因子的默认值是多少?
集群没有复制因子,但是您的 keyspaces does.
如果您想查看给定键空间的复制因子,只需执行SELECT * FROM system_schema.keyspaces;
,它将打印您需要的所有复制信息。
考虑使用 DESCRIBE SCHEMA
- 使用 system.schema_keyspaces
可能无法在未来的版本中使用(例如 3.0+,架构移至 system_schema
);
在版本 3.0 + Cassandra 中,您可以从 system_schema.keyspaces
replication 列中的 system_schema
键空间获取 RF 详细信息。
cassandra@cqlsh:system_schema> SELECT * FROM system_schema.keyspaces;
keyspace_name | durable_writes | replication
--------------------+----------------+-------------------------------------------------------------------------------------
system_auth | True | {'class': 'org.apache.cassandra.locator.SimpleStrategy', 'replication_factor': '1'}
system_schema | True | {'class': 'org.apache.cassandra.locator.LocalStrategy'}
system_distributed | True | {'class': 'org.apache.cassandra.locator.SimpleStrategy', 'replication_factor': '3'}
company | True | {'class': 'org.apache.cassandra.locator.SimpleStrategy', 'replication_factor': '2'}
system | True | {'class': 'org.apache.cassandra.locator.LocalStrategy'}
jerry | True | {'class': 'org.apache.cassandra.locator.NetworkTopologyStrategy'}
system_traces | True | {'class': 'org.apache.cassandra.locator.SimpleStrategy', 'replication_factor': '2'}
复制因子定义在键空间级别。
为了查看特定键空间的复制因子,请在 cqlsh 中使用以下查询:
desc KEYSPACE Keyspace_Name;
您将获得输出,其中您可以看到上述键空间的复制因子:
Cassandra 3.11及以上版本:
- 转到 Cassandra 节点上的路径:
cd /usr/local/cassandra/apache-cassandra-3.11.0/bin
- 输入命令:
./cqlsh
(你的Cassandra节点IP) - 然后输入:
SELECT * FROM system_schema.keyspaces;
输出:您将获得 Cassandra 中所有相应键空间的复制因子
如果您不想使用 cqlsh
并且只想从 终端 打印信息,请使用 nodetool
和名为 describe cluster,像这样:
[user@user ~]$ nodetool describecluster
它将打印非常有用和简短的信息,包括关于键空间的信息,如下所示:
Keyspaces:
system_schema -> Replication class: LocalStrategy {}
system -> Replication class: LocalStrategy {}
system_distributed -> Replication class: SimpleStrategy {replication_factor=3}
system_traces -> Replication class: SimpleStrategy {replication_factor=2}
system_auth -> Replication class: NetworkTopologyStrategy {dc1=3}
如果您正在寻找一个特定的键空间复制信息,只需使用以下命令(在本例中,我们将询问system_auth
键空间信息) :
[user@user ~]$ nodetool describecluster | grep system_auth
..它将打印如下信息:
system_auth -> Replication class: NetworkTopologyStrategy {dc1=3}