2013-09-16 2 views
2

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

Независимо от клиентов, таких как Pelops, Hector и т. Д., Что является лучшим способом подключения к многоузловому кластеру Cassandra?

Отправка строковых значений IP работает нормально, но как насчет увеличения числа узлов кластера в будущем? Поддерживает ли синхронно все узлы IP-кластера на клиентской стороне?

ответ

2

Не знаю, отвечает ли этот ответ на все ваши вопросы, но растущий кластер и ваши знания клиентов ip не связаны.

У меня есть кластер из 5 узлов, но клиент (а) знает только 2 IP-адреса: семена. Так как каждая машина кластера знает о семенах (каждый cassandra.yaml содержит семенной ip-адрес), если новая машина будет добавлена ​​информация о новой, она будет «бесплатно» на стороне клиента.

Представьте кластер 5 узлов со следующими изобрами

192.168.1.1

192.168.1.2 (семена)

192.168.1.3

192.168.1.4 (семена)

192.168.1.5

например: узел .5 boot - it будут связываться с семенами (узлы 2 и 4) и получать обратно информацию обо всем кластере. Если вы добавите новый 192.168.1.6, он будет вести себя точно так же, как и .5, и укажет на семена, чтобы узнать о ситуации в кластере. На стороне клиента вам ничего не нужно менять: вы просто знаете, что теперь у вас есть 6 конечных точек вместо 5.

ps: вам не обязательно подключаться к семенам, к которым вы можете просто подключиться к любому узел после того, как после контакта с семенами каждый узел знает всю топологию кластера

pps: это ваш выбор, сколько узлов нужно вводить в вас «известных клиентов-клиентов», вы также можете поместить все 5, но это не изменит Дело в том, что, если будет добавлен один узел вам не нужно делать что-либо на стороне клиента

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

+0

Carlo, используя начальные IP-адреса одного центра обработки данных - это хорошо. Что касается одного, двух и т. Д. Центров обработки данных? Правило DataStax представляет собой два семестра для одного центра обработки данных, поэтому «я могу/должен/должен использовать семенные IP-адреса для каждого центра обработки данных» .thanks – Alexander

+0

Ничто не должно меняться при использовании нескольких контроллеров постоянного тока. Если DC2: nodeX подключиться к DC1: anyseed и DC1: nodeX подключиться к DC2: anyseed не будет проблем (просто запустите все семена перед другими машинами). От клиента pov вы можете подключаться только к одному кластеру (и получать информацию о других) или к семени каждого кластера (последнее лучше, так как если весь кластер идет вниз, вы все равно можете подключиться к вашему db) - что изменится большинство в клиенте с несколькими DC - это уровень согласованности ваших операций. hth, Carlo –

1

У вас будет более легкое время, позволяющее клиенту отслеживать состояние каждого узла. Смарт-клиенты будут отслеживать состояние конечной точки через gossipinfo, которая переходит на новые узлы, как они появляются в кластере.

Смежные вопросы