MySQL Cluster + Manager и NDB/J

Я пытался настроить кластер MySQL в течение нескольких дней, используя диспетчер кластеров MySQL на 3 узлах Ubuntu (3 идентичных экземпляра виртуальных машин с 1 ГБ ОЗУ каждый).

Я следил за видео о MySQL Cluster Manager на сайте MySQL. По нему не так много другой документации/учебников (вероятно, потому что это коммерческий продукт).

Я запускаю кластер и показываю статус, но узлы mysqld никогда не запускаются, они просто остаются «добавленными». Если я устанавливаю mysql-сервер с помощью «sudo apt-get install mysql-server», тогда я запускаю обычный локальный сервер, и узлы регистрируются как «запущенные», но я не вижу, как подключиться к кластеру, а не к отдельному Серверы MySQL, работающие на узлах mysqld.

Я также в недоумении, как организован коннектор Java для MySQL Cluster, похоже, что есть несколько библиотек, поэтому я даже не знаю, какая библиотека мне нужна или как их получить (некоторые создаются при компиляции MySQL Cluster). ???). Может кто-нибудь объяснить, как работают коннекторы для взаимодействия с NDB из Java и как их получить?

Спасибо за любые ответы.


person Marcus    schedule 02.06.2011    source источник


Ответы (1)


Прежде всего, официальную документацию по MySQL Cluster Manager можно найти, перейдя к документации Cluster на dev.mysql.com (называемой «MySQL Cluster Manager»). Вы правы в том, что MySQL Cluster Manager является коммерческим программным обеспечением, хотя сам MySQL Cluster доступен под коммерческой лицензией или лицензией GPL.

Похоже, вы уже настроили агенты и запустили их, поэтому, если вы хотите быстро настроить и запустить кластер, обратитесь к этому простой рабочий пример использования MySQL Cluster Manager

С точки зрения понимания того, почему серверы MySQL (mysqlds) не запускаются, в вашем вопросе не так много подсказок, и поэтому нам нужно сузить его (одна из причин может заключаться в том, что на одном хосте определено несколько серверов mysqld, которые пытается использовать порт по умолчанию (3306)).

Чтобы проверить, что делает менеджер, загляните в файл с именем mysql-cluster-manager.log. Вы можете настроить уровень ведения журнала с помощью файла конфигурации менеджера кластера.

Чтобы увидеть, что, по мнению самого MySQL Cluster, произошло, проверьте каталоги, в которых хранятся файлы данных кластера (если вы не перезаписали значения по умолчанию, то это будет в /clusters/, и тогда вы увидите каталог для каждого узла в каталоге). кластер). Первый, который нужно проверить, — это ndb__cluster.log и другие журналы, которые вы найдете в подкаталоге «data» идентификатора, связанного с узлом ndb_mgmd. Также будут файлы журналов для каждого узла, поэтому также проверьте файлы mysqld_out.err и mysqld_out.log, хранящиеся в каталоге данных, связанном с идентификаторами узлов mysqld.

Наиболее важным моментом является не использование mysqld, который устанавливается с помощью «sudo apt-get install mysql-server», поскольку эта версия не будет совместима с MySQL Cluster — всегда используйте двоичные файлы, поставляемые с MySQL. Cluster tar ball (или, если вы используете Cluster Manager, он в любом случае должен быть для вас прозрачен.

Обратите внимание, что если вы хотите настроить и запустить MySQL Cluster на одном хосте без MySQL Cluster Manager, обратитесь к краткому руководству, расположенному на сайте загрузки MySQL Cluster (на mysql.com, а не на электронной доставке).

Для доступа к Java попробуйте этот Учебное пособие по MySQL ClusterJ.

person Andrew Morgan    schedule 06.06.2011
comment
Спасибо за совет. Я начал заново и перезапустил кластер, когда узлы mysqld не изменились на запуск. Кластер запущен и работает. Я вижу, что ClusterJ требует, чтобы вы создали класс для каждой таблицы, с которой вы хотите взаимодействовать, чтобы использовать ее. К сожалению, я не могу этого сделать, потому что мне нужно иметь возможность взаимодействовать с таблицами, которые будут созданы во время работы, и поэтому я не могу предсказать структуру. Существуют ли какие-либо библиотеки Java для NDB, которые имеют интерфейс карты или что-то в этом роде? Спасибо за помощь. - person Marcus; 07.06.2011