cassandra.InvalidRequest: code=2200 [无效查询] message="Keyspace '' does not exist"

cassandra.InvalidRequest: code=2200 [Invalid query] message="Keyspace '' does not exist"

我正在尝试使用 python driver for cassandra 但是当我 运行 这三行在 python shell

from cassandra.cluster import Cluster
cluster = Cluster()
session = cluster.connect('demo')

我收到这个错误

cassandra.InvalidRequest: code=2200 [Invalid query] message="Keyspace 'demo' does not exist"

pip freeze 说 cassandra-driver==2.5.0

我检查了 cqlsh

Connected to Test Cluster at 127.0.0.1:9042.
[cqlsh 5.0.1 | Cassandra 2.1.4 | CQL spec 3.2.0 | Native protocol v3]
Use HELP for help.
cqlsh> describe keyspaces

system_traces  system

cqlsh> 

没有名为 'demo' 的键空间,但我只是在学习这两个教程,他们没有说任何关于预创建键空间的内容 http://planetcassandra.org/getting-started-with-cassandra-and-python/ http://datastax.github.io/python-driver/getting_started.html

创建 'demo' 键空间的说明位于 link 来自 http://planetcassandra.org/getting-started-with-cassandra-and-python/ 的页面:

To follow this tutorial, you should already have a running Cassandra instance, and have gone through the 10 minute walkthrough here: http://www.PlanetCassandra.org/try-cassandra/

try-cassandra 页面有一个 link 开发人员演练(点击 "Start Developer Walkthrough")。开发人员演练有一个创建 'demo' 键空间的步骤:

The keyspace can include operational elements, such as replication factor and data center awareness. Let’s create a keyspace called “demo”. We will include replication strategy class and factor; details that will be covered in a future tutorial.

To create the keyspace “demo”, at the CQL shell prompt, type:

cqlsh> CREATE KEYSPACE demo WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 1 };

创建 table

use demo;
CREATE TABLE users (
  firstname text,
  lastname text,
  age int,
  email text,
  city text,
PRIMARY KEY (lastname));