2013-03-17 66 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