Задавайте вопросы, мы ответим
Вы не зашли.
Что-то я никогда не задавал на форуме вопросов... наверное, стоит начать
Кто-нибудь знает, как сейчас делаются стабильные ветки MySQL? Интересуют
исходники с поддержкой NDB. В основной секции download поддержку убрали
официально, MySQL Cluster раздают из отдельной секции со словами «MySQL
Carrier Grade Edition». Судя по виду, это тот же MySQL (только более старый,
чем в основной ветке) со включенной поддержкой NDB.
Почему отдельная ветка? Что такое CGE? И как собрать последний стабильный
NDB и последний стабильный MySQL?
Неактивен
Кластер можно скачать по ссылке: http://dev.mysql.com/downloads/cluster/6.3.html
Он доступен в двух версиях - лицензионной и community (здесь же есть Cluster Community 7.0, который находится в состоянии бета-версии)
CGE - релиз, который содержит более новые версии движка ndb (сам mysql в нем может быть и более старый). CGE предназначается для систем, построенных на заказ под конкретного клиента, поэтому у него (в отличие от обычного Mysql Cluster) нет объявленной цены. В CGE больше фич, например можно отключить арбитраж, но, возможно, эти фичи перейдут в обычный кластер. Так как все open source, то исходники доступны.
На последний твой вопрос не могу ответить, это скорее всего вопрос о продукте, которого нет в природе (но с исходниками можно сделать все, что угодно).
Неактивен
Вот список новых фич в новой версии ndb: http://dev.mysql.com/doc/refman/5.1/en/ … admap.html
Кстати, они перестали ndb относить к CGE или к обычному кластеру. Раньше ndb 6.X называлась CGE, а сейчас она просто ndb.
Неактивен
Гриш, тогда еще не связанный вопрос про кластер: как работает алгоритм арбитража.
Конкретно — когда может поменяться арбитр.
Пусть у меня есть вот такой кластер: [M][DS][DS][DS][DS] (NoOfReplicas=4). Я убиваю
[M] и арбитр перелезает на одну из [DS]. После этого я убиваю эту [DS]. Я правильно
понимаю, что кластер вымрет совсем в таком случае?
Ну и заодно — что значит «можно отключить арбитраж в CGE»? Это как раз полечит
эту проблему?
Неактивен
Алгоритм арбитража описан в статье http://sqlinfo.ru/articles/info/8.html Правда описан
Арбитр может поменяться, если
а) алгоритм арбитража уже отработал (то есть часть поняла, что она остается работать)
б) нет арбитра
Это возможно, если выполнился второй пункт алгоритма арбитража, см. статью. Если отпадает одна нода, то алгоритм арбитража работает по второму пукту и арбитр не участвует.
1. Отключение [M]. Арбитр не нужен, алгоритм арбитража не запускается, так как дата-ноды не выпадали. Происходит выбор арбитра (если некого, то есть у всех ArbitrationRank=0, то его не будет). Выбирается нода [DS1]
2. Отключение [DS1]. Дата-нода выпала, но на ней нет всех данных и кластер понимает, что split brain нет, и он продолжает работать, арбитр не нужен, к нему не обращаются. После того, как это понято, выбирается новый арбитр.
Если отключить арбитраж (у всех нод ArbitrationRank=0, такое возможно в новых версиях ndb), то арбитра нет и в ситуации split brain (пункт 3 алгоритма арбитража) обе части выключатся. Так же будет, если арбитра нет в живых (в любой версии ndb). Падение последнего арбитра не ведет к остановке кластера.
Неактивен
Оо, класс, я знал, кому задать вопрос по этой статье
У нас NoOfReplicas=4, т.е. на каждой ноде есть все данные. Правильно ли я понимаю,
что в этом случае как раз он отключится (т.к. не проходит условие 2 пункта статьи)?
Неактивен
Да, все правильно. Если нет арбитра и выпала одна нода, на которой все данные, то кластер отключится. Отключение арбитража не поможет - результат будет таким же. Конфигурацию можно улучшить, запретив sql-нодам быть арбитрами (ArbitrationRank=0) и добавив вторую отдельную MGM-ноду. MGM-нодами может быть кто угодно (в смысле сервер, используемый для других целей, находящийся на той же площадке), они процессор и память вообще не потребляют.
Неактивен