问题
What cqlsh command can I use to quickly see the keyspaces in a cluster? cqlsh does not provide show keyspaces
and describe cluster
isn't as concise as I want.
I'm working using the following specifications:
cqlsh 2.2.0, Cassandra 1.1.10, CQL spec 2.0.0, Thrift protocol 19.33.0
回答1:
Very simple. Just enter this command in your cqlsh shell and enjoy
select * from system.schema_keyspaces;
In C*3.x, we can simply use
describe keyspaces
回答2:
Just try this:
describe keyspaces
However you may need specs of approximately the following (rather than those mentioned by yourself Crowie)
[cqlsh 4.1.1 | Cassandra 2.0.6 | CQL spec 3.1.1 | Thrift protocol 19.39.0]
回答3:
cqlsh> 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'}
system | True | {'class': 'org.apache.cassandra.locator.LocalStrategy'}
system_traces | True | {'class': 'org.apache.cassandra.locator.SimpleStrategy', 'replication_factor': '2'}
回答4:
The correct way with C* 3.x series is:
List<KeyspaceMetadata> keyspaces = Cluster.getMetadata().getKeyspaces()
Then use getName()
on the KeyspaceMetadata instances.
来源:https://stackoverflow.com/questions/16612463/is-there-a-clear-equivalent-of-show-keyspaces-in-cqlsh-2