将第二个DC添加到Cassandra集群并平衡数据

时间:2014-02-22 14:28:21

标签: cassandra replication cluster-computing

我在AWS中有两个区域的集群,这是有效的,并且没有问题。

第二个DC似乎有问题,因为它出现但没有任何数据或有任何复制到它。此群集将用于报告,并且不会对其运行插入任何客户端。

以下是schema_keyspaces配置:

====

keyspace_name | durable_writes | strategy_class | strategy_options

app |真的org.apache.cassandra.locator.NetworkTopologyStrategy | {" 1":" 3"}

====

Cassandra版本1.2.14

initial_token:

num_tokens:256

数据中心:1

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

状态=向上/向下

| / State = Normal / Leaving / Joining / Moving

- 地址加载令牌拥有(有效)主机ID Rack

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

UN 10.1.1.23 133.07 MB 256 37.7%05771659-b117-4c7a-9a71-c5fd0dc976c1 1

UN 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

联合国10.1.2.20 110.57 MB 256 33.8%9bf87f06-0617-4ace-abf8-fa418c05a0eb 2

联合国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

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

状态=向上/向下

| / State = Normal / Leaving / Joining / Moving

- 地址加载令牌拥有(有效)主机ID Rack

UN 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

联合国10.2.2.21 137.93 KB 256 0.0%29e6aa79-1145-4308-8248-44280ff9f4ad 2

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

UN 10.2.2.25 187.79 KB 256 0.0%7fa542c5-f85c-4a4a-b641-d7a310710701 2

正如您所看到的,第二个DC似乎没有接收数据,但我可以从第二个群集查询第一个群集上的密钥空间。 为什么数据不能复制。

请注意,此帖子顶部的配置用于向第一个群集添加节点,这些节点可以加入群集和数据余额,而无需执行任何其他操作。

2 个答案:

答案 0 :(得分:1)

您似乎已定义数据中心1以获得3个副本,但没有为数据中心2定义任何内容

NetworkTopologyStrategy | {"1":"3"}

你需要类似于:

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

答案 1 :(得分:0)

所以经过一番调整我最终使用了以下内容:

ALTER KEYSPACE myapp WITH replication = {'class':'NetworkTopologyStrategy',1:3,2:3} AND durable_writes ='true';

然后使用群集SSH我连接到所有16个cassandra节点并对键空间进行了修复。 这导致了merkel树检查和数据平衡。

快乐的日子。