Замечания по NDB кластеру и NDB-нодам

На уровне замечений, касательно понятий «Node Group» и параметра секции [NDBD DEFAULT] NoOfReplicas в конфиге кластаера config.ini

NoOfReplicas - параметр задающий количество реплик данных. Допустим, его значение 2, тогда получается у нас будет две реплики данных. Теперь дальше, допустим, NDB ноды у нас с номерами 10, 11, 12, 13 и в конфиге они перечислены в этом же порядке, тогда количество Node Group будет:

NodeGroupsCount = NDB_Nodes_Count / NoOfReplicas = 4 / 2 = 2

Номера Node Group будут: 0 и 1 (нумерация с нуля.)

Теперь, как ноды группируются в группы? А просто, по порядку номеров. Т.е. наши ноды 10, 11, 12, 13 при NoOfReplicas = 2, распределятся так:

  • Node Group 0: 10, 11
  • Node Group 1: 12, 13

Если прводить аналогии, то очень похоже на RAID 10: 10+11, 12+13 - работают в зеркалирование, и в сумме (10_11)+(12_13) - в чередовании.

Отсюда ещё одно важно замечание: если ВСЕ ноды одной группы вылетают, целостность данных нарушается, как следствие ВЕСЬ кластер прекращает работу, и, как следствие: для работы (и для запуска) кластера необходимо, что бы было хотя бы по одной живой ноде из группы.

Ещё одно замечание (пока окончательно не проверено), но дополню: по одной живой ноде из группы должны стартовать в промежуток не больше 30 сек. Ещё лучше запускать ноды с параметром -n а потом через менеджмент-панель делать или ALL START или node-id START

И в заключение, если отвалится одна нода из группы, лучше, как можно быстрее получить об этом уведомление на почту или ещё куда. И распределять ноды одной группы так, что бы не получилось «семерых одним ударом».

Дискуссия

Enter your comment
If you can't read the letters on the image, download this .wav file to get them read to you.