Netflix / dynomite

A generic dynamo implementation for different k-v storage engines

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Data consistency failure between 3 nodes. [Question]

leonardodavinte opened this issue · comments

Data consistency failure between 3 nodes.

Please can anyone help me?
Should all nodes have the same number of Keys?

I have 3 nodes and 3 racks. Each rack has only 1 node. 1 data center.
But my data has no consistency.

Below is the configuration of my 3 nodes. What am I doing wrong in my setup?

My data:
My keys are thousands of IPs. (Examples: 10.0.0.1, 10.0.0.2, ... 10.255.255.255)

redis-cli -p 8102 get 10.0.0.1
"1"

But some nodes have more keys than others.

My Configuration:

===DC1===

===RACK1===
===NODE01===
dyn_o_mite:
datacenter: dc1
rack: rack1
dyn_listen: 0.0.0.0:8101
dyn_seeds:

  • 192.168.0.2:8101:rack2:dc1:0
  • 192.168.0.3:8101:rack3:dc1:0
    listen: 0.0.0.0:8102
    servers:
  • 127.0.0.1:6379:1
    tokens: '0'
    secure_server_option: datacenter
    pem_key_file: /etc/dynomite/conf/dynomite.pem
    data_store: 0
    read_consistency : DC_QUORUM
    write_consistency : DC_QUORUM
    stats_listen: 0.0.0.0:22222
    auto_eject_hosts: true
    server_retry_timeout: 30
    server_failure_limit: 3
    timeout: 30

===RACK2===
===NODE02===
dyn_o_mite:
datacenter: dc1
rack: rack2
dyn_listen: 0.0.0.0:8101
dyn_seeds:

  • 192.168.0.1:8101:rack1:dc1:0
  • 192.168.0.3:8101:rack3:dc1:0
    listen: 0.0.0.0:8102
    servers:
  • 127.0.0.1:6379:1
    tokens: '0'
    secure_server_option: datacenter
    pem_key_file: /etc/dynomite/conf/dynomite.pem
    data_store: 0
    read_consistency : DC_QUORUM
    write_consistency : DC_QUORUM
    stats_listen: 0.0.0.0:22222
    auto_eject_hosts: true
    server_retry_timeout: 30
    server_failure_limit: 3
    timeout: 30

===RACK3===
===NODE03===
dyn_o_mite:
datacenter: dc1
rack: rack3
dyn_listen: 0.0.0.0:8101
dyn_seeds:

  • 192.168.0.1:8101:rack1:dc1:0
  • 192.168.0.2:8101:rack2:dc1:0
    listen: 0.0.0.0:8102
    servers:
  • 127.0.0.1:6379:1
    tokens: '0'
    secure_server_option: datacenter
    pem_key_file: /etc/dynomite/conf/dynomite.pem
    data_store: 0
    read_consistency : DC_QUORUM
    write_consistency : DC_QUORUM
    stats_listen: 0.0.0.0:22222
    auto_eject_hosts: true
    server_retry_timeout: 30
    server_failure_limit: 3
    timeout: 30

Thanks,

Leonardo

@leonardodavinte they all have the same tokens? Look at examples in https://github.com/Netflix/dynomite/tree/dev/conf