Два кластера по 12 узлов в каждом — база данных Cassandra

Я начал работать над проектом, в котором использую Cassandra database.

Наши производственные администраторы базы данных имеют настройку two cluster, а каждый кластер будет иметь 12 nodes.

Я буду использовать Pelops client для чтения данных из базы данных Cassandra. Теперь я думаю, как лучше всего создать класс Cluster, используя Pelops client, например, сколько узлов я должен добавить в Pelops при создании кластера?

Насколько я понимаю, нужно создать кластер, используя pelops client со всеми 24 nodes, так как у меня будет два кластера по 12 узлов в каждом? Это правильный подход?

Если нет, то как мы решим, какие узлы (из каждого кластера) мне следует добавить при создании кластера с помощью клиента Pelops?

String[] nodes = what nodes I should use from two clusters? And how many nodes I should add?; 

int port = cfg.getInt("cassandra.port"); 

boolean dynamicND = true; // dynamic node discovery 

Config casconf = new Config(port, true, 0); 

Cluster cluster = new Cluster(nodes, casconf, dynamicND); 

Pelops.addPool(Const.CASSANDRA_POOL, cluster, Const.CASSANDRA_KS);

Может ли кто-нибудь помочь мне с этим?

Любая помощь будет оценена.


person arsenal    schedule 11.04.2013    source источник


Ответы (1)


Я постараюсь лучше объяснить комментарий в другом посте. Мой совет — давать пелопсам только семена из каждой грозди. Предполагая, что у вас есть 2 семени для каждого кластера, я бы использовал эти 4 узла для создания своего пула.

Вы используете Pelops -- из документации Доминика Уильямса (создателя Pelops):

Чтобы создать пул, необходимо указать имя, список известных контактных узлов (библиотека может автоматически определять дополнительные узлы в кластере, но см. примечания в конце), сеть порт, который прослушивают узлы, и политику, которая управляет такими вещами, как количество подключений в вашем пуле. — поэтому нет необходимости передавать весь список узлов.

Из документации Кассандры:

Узлы Cassandra обмениваются информацией друг о друге с помощью механизма, называемого Gossip, но для того, чтобы сдвинуться с мертвой точки, только что запущенный узел должен знать хотя бы об одном другом, это называется Seed. Обычно в качестве исходных узлов выбирают небольшое количество относительно стабильных узлов, но здесь нет жесткого правила

Я работаю с Pelops уже 3 года (начал с Cassandra 0.6, теперь 1.0.6), и подход с использованием только семян в качестве списка узлов ... отлично работает!

пара советов:

1: если вы беспокоитесь о соединениях и работоспособности кольца, вы можете написать класс, который выполняет «случайные запросы», используя EACH_QUORUM CL для проверки соединений, и класс, который использует классы Java Nodetool для проверки работоспособности кольца.

2: если вы выполняете удаление в cassandra, помните о важности восстановления nodetool (http://wiki.apache.org/cassandra/Operations#Repairing_missing_or_inconsistent_data)

С уважением, Карло

person Carlo Bertuccini    schedule 12.04.2013