2014-02-22 32 views
1

我在AWS中的兩個區域中有一個羣集,這是功能性的,沒有問題。將第二個DC添加到Cassandra羣集並平衡數據

這是第二個DC似乎有問題,因爲它出現,但沒有任何數據或任何複製到它。這個羣集將用於報告,並且沒有客戶端正在執行插入操作。

以下是schema_keyspaces配置:

====

keyspace_name | durable_writes | strategy_class | strategy_options

app | True | org.apache.cassandra.locator.NetworkTopologyStrategy | { 「1」: 「3」}

====

卡桑德拉版1.2.14

initial_token:

num_tokens:256

數據中心:1

==============

Status = Up/Down

| /州=正常/離開/加入/移動

- 地址加載令牌持有(有效)主機ID機架

聯合國10.1.1.22 122.7 MB 256 37.5%12ae63ef-3757-4b42-872e -bdd26d0dea50 1

聯合國10.1.1.23 133.07 MB 256 37.7%05771659-b117-4c7a-9a71-c5fd0dc976c1 1

聯合國10.1.1.20 131.4 MB 256 40.3%5310a111-0954-4d2b-的Aeff-eb2d3150faff 1

UN 10.1.1.21 129.81 MB 256 36.7%3e94252d-19cd-4334-918e-f4df980a452a 1

UN 10.1.2.20 110.57 MB 256 33.8%9bf87f06-0617-4ace-abf8-fa418c05a0eb 2

UN 10.1 .2.21 132.05 MB 256 37.4%6b89460e-74f3-4b96-8363-d3fe5c413f48 2

聯合國10.1.2.22 125.58 MB 256 38.4%ae11a4f2-9956-4b26-8e3d-16425c76f916 2

聯合國10.1.2.23 124.12 MB 256 38。1%53c93e96-c490-4d98-bb89-cbdc71e0346d 2

數據中心:2

==============

狀態=向上/向下

| /州=正常/離開/加入/移動

- 地址加載令牌持有(有效)主機ID機架

聯合國10.2.2.22 187.4 KB 256 0.0%95caff71-4dca-4e57-97e3-5985e79cd746 2

UN 10.2.2.23 187.33 KB 256 0.0%91b44d9e-5aab-44b2-8135-670addc2a339 2

UN 10.2.2.20 187.33 KB 256 0.0%0e5bd1d1-69f8-4851-BFAD-e1068835ddd8 2

UN 10.2.2.21 137.93 KB 256 0.0%2 29e6aa79-1145-4308-8248-44280ff9f4ad

UN 10.2.2.27 163.65 KB 256 0.0%f471466b-4f6c-4450-8b7e-1225056265f2 2

UN 10.2.2.24 138.03 KB 256 0.0%07ba8dd1-9bc3-4d51-a903-2853ed09e008 2

聯合國10.2.2.25 187.79 KB 256 0.0%7fa542c5-f85c-4a4a-b641-d7a310710701 2

正如你可以看到它的第二DC似乎並沒有接收數據,但我可以查詢密鑰空間是上來自第二個集羣的第一個集羣。 爲什麼數據不能複製。

請注意,本文頂部的配置用於向第一個羣集添加節點,並且這些節點連接羣集和數據平衡,而不需要執行其他任何操作。

回答

1

看來您已經定義了數據中心1拿到3個副本,但沒有什麼是用於數據中心的定義2

NetworkTopologyStrategy | {"1":"3"} 

你需要類似:有點擺弄之後,所以

NetworkTopologyStrategy | {"1":"3", "2":"3"} 
+0

謝謝MShuler,我現在已經做到了,但數據仍然沒有平衡,還有其他需要運行的命令嗎? – casibbald

+0

所以現在你已經定義了「數據應該以這種方式複製」,並且新的插入應該到達正確的位置,但是需要檢查現有數據是否存在於所有適當的位置。這聽起來像一個'修復'的工作:) – mshuler

0

關於我最終用於執行以下操作:

WITH複製= { '類': 'NetworkTopologyStrategy',1:3,2:3} ALTER KEYSPACE MyApp的AND durable_writes = '真';

然後使用集羣SSH連接到所有16個cassandra節點,並對密鑰空間進行修復。 這迫使merkel樹檢查和數據平衡。

那麼快樂的日子。

相關問題