密钥空间和表格不能在cassandra中跨数据中心进行复制

时间:2015-07-30 11:54:27

标签: cassandra

我正在尝试创建cassandra集群。为此,我有一个单节点数据中心 一个数据中心名为DC1,另一个数据中心为DC2。因此,有2个单节点数据中心。我按照这里给出的步骤 http://docs.datastax.com/en/cassandra/2.0/cassandra/initialize/initializeMultipleDS.html

由于我有单节点数据中心,所以我的种子将是一台机器。我可以为这两台机器做ndoetool -h状态。我创建了一个像这样的键空间

CREATE KEYSPACE sams WITH replication = {'class': 'NetworkTopologyStrategy', 'DC1': '1', 'DC2': '1'}  AND durable_writes = true;

这样的表格
CREATE TABLE apikey (   appname text,   appkey text,   PRIMARY KEY ((appname), appkey) );

我在一个数据中心创建密钥空间和表。这应该在其他机器上复制,但不会复制。其他数据中心上没有显示任何键空间。

我在这里缺少什么?

添加nodetool输出

nodetool -h cassandra1 status
Datacenter: DC1
===============
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address          Load       Tokens  Owns (effective)  Host ID                               Rack
UN  100.117.100.107  178.28 KB  256     100.0%            0c5da294-2a86-472d-98ec-857ed5140417  RAC1


 nodetool -h cassandra2 status
Datacenter: DC2
===============
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address         Load       Tokens  Owns    Host ID                               Rack
UN  100.117.150.55  162.94 KB  256     ?       9f3e49f6-debc-4a9c-ba93-bc65b3851a48  RAC1

1 个答案:

答案 0 :(得分:3)

看起来您不小心设置了两个独立的群集,而不是跨越两个数据中心的单个群集。

在cassandra.yaml中确保两个节点都具有相同的cluster_name,并且两者都具有相同的“ - seeds:”的ip列表。由于你只有两个节点,我会将两个ip列为种子而不是一个。

如果节点已加入同一个群集,则在运行nodetool status时应显示这两个群集。