2013-03-17 73 views
1

我在Amazon EC2的两台Linux机器上安装并启动了Cassandra。我还设置cassandra.yaml使用属性文件打小报告和配置cassandra-topology.properties文件如下:Cassandra NetworkTopology策略复制

<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吗?

谢谢

回答

1

看起来像keyspace创建没有正确完成。它是一个简单的事实,无论何时在填充时获取UnavailableException(),都认为在创建密钥空间时存在问题。在你的情况你还没有提满级路径所需placement_strategy

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

是卡桑德拉只在当时创作的密钥空间(启动)的

+1

你并不需要完整的类路径读取拓扑结构, Cassandra会自动添加它。此外,cassandra-topology.properties每60秒重新加载一次,以便您可以在实时群集上更改此设置。您需要在每台主机上创建该文件,否则您可能会收到UnavailableException。 – Richard 2013-03-18 07:45:32

+0

正确地说理查德.. + 1 – abhi 2013-03-18 09:14:54

+0

谢谢你们两个 - Cassandra中是否有工具或命令会告诉我当前加载的拓扑设置?我尝试过描述群集,但没有看到这些信息。谢谢。 – wsb3383 2013-03-19 14:01:58