Новый кластер cassandra с использованием vnodes показывает несбалансированное кольцо

Только что я создал кластер cassandra с 3 узлами на своих локальных машинах, используя vagrant, работающий с 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% данных, и я не могу понять, что я делаю неправильно.

Я не загружал никаких данных в кластер и не создавал никакого пространства ключей, это новый кластер без каких-либо данных.

плиз помогите разобраться в проблеме

Спасибо


person user2373881    schedule 27.03.2015    source источник


Ответы (2)


Если в кластер не загружены данные, не должно быть никакого процентного владения. Кроме того, ваши выходные IP-адреса nodetool не соответствуют тем, которые вы указали ранее для своих IP-адресов — возможно, вы просматриваете разные машины, на которые уже загружены данные? Наконец, вы можете не захотеть использовать RackInferringSnitch, так как кажется, что все ваши узлы находятся в одной стойке. Если вы просто играете в одном центре обработки данных, вы можете использовать простой снитч. В противном случае NetworkTopology подходит для нескольких центров обработки данных.

person Rachel P    schedule 27.03.2015
comment
я отредактировал вопрос, ip был опечаткой, и я исправил его, а о данных есть только системные данные, которые по умолчанию есть. Как вы думаете, информация о владении относится к системным данным, потому что, когда я создаю демонстрационное пространство ключей с коэффициентом репликации 3 доля владения меняется примерно на 33–35%, и я думаю, что я не получаю ровно 33%, поскольку использую vnodes. - person user2373881; 29.03.2015

Чтобы столбец Owns/Load был точным в nodetool status, необходимо указать пространство ключей.

Попробуйте nodetool status <keyspace name>, и он фактически покажет вам % того, сколько данных хранится в каждом узле.

person phact    schedule 30.03.2015