1

刚才我使用 vagrant 在本地机器上创建了一个 3 节点 cassandra 集群,运行 cassandra 2.0.13

以下是每个节点的 cassandra.yaml 配置

节点0

cluster_name: 'MyCassandraCluster'
num_tokens: 256
seed_provider:
  - class_name: org.apache.cassandra.locator.SimpleSeedProvider
parameters:
     - seeds:  "192.168.33.10,192.168.33.11"
listen_address: 192.168.33.10
rpc_address: 0.0.0.0
endpoint_snitch: RackInferringSnitch

节点1

cluster_name: 'MyCassandraCluster'
num_tokens: 256
seed_provider:
  - class_name: org.apache.cassandra.locator.SimpleSeedProvider
parameters:
     - seeds:  "192.168.33.10,192.168.33.11"
listen_address: 192.168.33.11
rpc_address: 0.0.0.0
endpoint_snitch: RackInferringSnitch

节点2

cluster_name: 'MyCassandraCluster'
num_tokens: 256
seed_provider:
  - class_name: org.apache.cassandra.locator.SimpleSeedProvider
parameters:
     - seeds:  "192.168.33.10,192.168.33.11"
listen_address: 192.168.33.12
rpc_address: 0.0.0.0
endpoint_snitch: RackInferringSnitch

当我跑步时

nodetool status

我得到以下结果

Datacenter: 168
===============
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address        Load       Tokens  Owns (effective)  Host ID                               Rack
UN  192.168.33.12  88.34 KB   256     67.8%             b3d6d9f2-3856-445b-bad8-97763d7b22c7  33
UN  192.168.33.11  73.9 KB    256     66.4%             67e6984b-d822-47af-b26c-f00aa39f02d0  33
UN  192.168.33.10  55.78 KB   256     65.8%             4b599ae0-dd02-4c69-85a3-05782a70569e  33

根据我从 datastax 参加的教程,每个节点都应该拥有 33% 的数据,但这里显示每个节点拥有大约 65% 的数据,我无法弄清楚自己做错了什么。

我没有在集群中加载任何数据,也没有创建任何 keyspace ,它的全新集群没有任何数据。

请帮我找出问题所在

谢谢

4

2 回答 2

2

如果没有数据加载到集群中,则不应拥有任何百分比。此外,您的 nodetool 输出 IP 地址与您之前为您的 IP 设置的不匹配 - 也许您正在查看已经加载数据的不同机器?最后,您可能不想使用 RackInferringSnitch,因为您的所有节点似乎都在同一个机架中。如果您只是在单个数据中心中玩耍,则可以使用简单的告密者。否则,NetworkTopology 适用于多个数据中心

于 2015-03-27T21:44:58.440 回答
0

为了使 Owns / Load 列在 中准确nodetool status,您需要指定一个键空间。

尝试一下nodetool status <keyspace name>,它实际上会向您显示每个节点中存储了多少数据的百分比。

于 2015-03-30T19:50:24.017 回答