Python Cassandra不会创建密钥空间

时间:2016-12-29 04:37:24

标签: python cassandra

如何使用Python在Cassandra中创建键空间?

from cassandra.cluster import Cluster
cluster = Cluster(['cassandra.sucks.com'])
session = cluster.connect()

session.execute('CREATE KEYSPACE IF NOT EXISTS kong')



File "cassandra/cluster.py", line 1998, in cassandra.cluster.Session.execute (cassandra/cluster.c:34869)
  File "cassandra/cluster.py", line 3781, in cassandra.cluster.ResponseFuture.result (cassandra/cluster.c:73073)
cassandra.protocol.SyntaxException: <Error from server: code=2000 [Syntax error in CQL query] message="line 0:-1 mismatched input '<EOF>' expecting K_WITH">

1 个答案:

答案 0 :(得分:4)

如果您有单个数据中心您应该使用以下查询创建键空间:

CREATE KEYSPACE IF NOT EXISTS kong WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 3 };
  

'replication_factor'如果class是SimpleStrategy,则是必需的;否则,不使用。多个节点上的数据副本数量。

或如果您有多个数据中心,请使用:

CREATE KEYSPACE IF NOT EXISTS kong  WITH REPLICATION = {'class' : 'NetworkTopologyStrategy', 'dc1' : 3, 'dc2' : 2}
  

dc1和dc2是数据中心名称。如果类是NetworkTopologyStrategy并且您提供数据中心的名称,则为必需。此值是该数据中心中每个节点上的数据副本数。

来源:http://docs.datastax.com/en/cql/3.1/cql/cql_reference/create_keyspace_r.html