1

我在 Amazon EC2 的两台 linux 机器上安装并启动了 Cassandra。我还将 cassandra.yaml 设置为使用属性文件 snitch 并将 cassandra-topology.properties 文件配置如下:

  <external IP 1>=AWS1:R1
  <external IP 2>=AWS2:R1

然后创建一个键空间,如下所示:

 create keyspace myks with strategy_options = [{AWS1:1,AWS2:1}]  and placement_strategy='NetworkTopologyStrategy'; 

然后我创建了一个列族并尝试插入一行......但是,当我尝试插入时,我从 CLI 得到一个空值。我错过了配置中的某些内容吗?

我怎样才能知道发生了什么?

另外——Cassandra 是否只在启动时读取 cassandra-topology?

谢谢

4

1 回答 1

1

看起来键空间创建没有正确完成。这是一个简单的事实,每当您在填充时收到 UnavailableException() 时,理所当然地认为创建键空间存在问题。在您的情况下,您没有提到所需的placement_strategy 的完整类路径

CREATE KEYSPACE myks WITH placement_strategy = 'org.apache.cassandra.locator.NetworkTopologyStrategy'
AND strategy_options=[{AWS1:1,AWS2:1}];

是 Cassandra 仅在创建密钥空间(启动)时读取拓扑

于 2013-03-18T01:55:39.997 回答