我正在尝试创建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
答案 0 :(得分:3)
看起来您不小心设置了两个独立的群集,而不是跨越两个数据中心的单个群集。
在cassandra.yaml中确保两个节点都具有相同的cluster_name,并且两者都具有相同的“ - seeds:”的ip列表。由于你只有两个节点,我会将两个ip列为种子而不是一个。
如果节点已加入同一个群集,则在运行nodetool status时应显示这两个群集。