У меня есть 2 постоянного тока и 3 узла:
DC1: cas01.dc01.net (172.16.3.15) и cas02.dc01.net (172.16.3.16)
DC2: cas01.dc02. net (172.16.9.3), например.Python недопустимый список узлов кластера Cassandra
Выполнить следующий сценарий:
cluster = Cluster(['cas01.dc01.net', 'cas02.dc01.net', 'cas01.dc02.net'],auth_provider=auth,protocol_version=3, load_balancing_policy=DCAwareRoundRobinPolicy(local_dc='DC1'))
session = cluster.connect('test')
print '_dc_live_hosts:'
for k, v in cluster.load_balancing_policy._dc_live_hosts.items():
print "DC name: %s; Node address: %s" % (k, [node.address for node in v])
print 'Cluster metadata:'
for host in cluster.metadata.all_hosts():
print 'Datacenter: %s; Host: %s; Rack: %s' % (host.datacenter, host.address, host.rack)
и получить ответ:
_dc_live_hosts:
DC name: DC1; Node address: ['cas01.dc01.net', 'cas01.dc02.net', 'cas02.dc01.net', '172.16.3.15']
DC name: DC2; Node address: ['172.16.9.3']
Cluster metadata:
Datacenter: None; Host: cas01.dc01.net; Rack: None
Datacenter: None; Host: cas01.dc02.net; Rack: None
Datacenter: DC1; Host: 172.16.3.15; Rack: Rack1
Datacenter: DC2; Host: 172.16.9.3; Rack: Rack1
Datacenter: DC1; Host: cas02.dc01.net; Rack: Rack1
Почему повторяющиеся узлы?
Если указать список IP-адрес:
cluster = Cluster(['172.16.3.15', '172.16.3.16', '172.16.9.3'],auth_provider=auth,protocol_version=3, load_balancing_policy=DCAwareRoundRobinPolicy(local_dc='DC1'))
...
список узлов правильно:
_dc_live_hosts:
DC name: DС1; Node address: ['172.16.3.16', '172.16.3.15']
DC name: DС2; Node address: ['172.16.9.3']
Cluster metadata:
Datacenter: DС1; Host: 172.16.3.16; Rack: Rack1
Datacenter: DС1; Host: 172.16.3.15; Rack: Rack1
Datacenter: DС2; Host: 172.16.9.3; Rack: Rack1
Пожалуйста, помогите.
Каковы ваши семена? Какой снитч вы используете? Вы можете найти ответы в файле cassandra.yaml. Если это свойство PropertyFileSnitch, можете ли вы включить содержимое своих cassandra-topology.properties? – DineMartine
Узел cas01.dc01.net: - Семена: "cas01.dc01.net, cas02.dc01.net" Узел cas02.dc01.net: - Семена: "cas01.dc01.net, cas01.dc02.net" Узел cas01. dc02.net: - seed: "cas01.dc02.net, cas01.dc01.net" endpoint_snitch: PropertyFileSnitch топология: cas01.dc01.net = DC1: Rack1 cas02.dc01.net = DC1: Rack1 cas01.dc02. net = DC2: Rack1 –