Назад | Перейти на главную страницу

Кластер MySQL не работает в Ubuntu

У меня проблема при установке и настройке кластера MySQL на Ubuntu 10.10.

Это конфигурация для управления кластером

[NDBD DEFAULT]
NoOfReplicas=2
DataMemory=10MB
IndexMemory=25MB
MaxNoOfTables=256
MaxNoOfOrderedIndexes=256
MaxNoOfUniqueHashIndexes=128

[MYSQLD DEFAULT]

[NDB_MGMD DEFAULT]

[TCP DEFAULT]

[NDB_MGMD]
Id=1                            # the NDB Management Node (this one)
HostName=192.168.10.101

[NDBD]
Id=2                            # the first NDB Data Node
HostName=192.168.10.11
DataDir= /var/lib/mysql-cluster

[NDBD]
Id=3                            # the second NDB Data Node
HostName=192.168.10.12
DataDir=/var/lib/mysql-cluster

[MYSQLD]
[MYSQLD]

и это конфигурация для обоих узлов:

[mysqld]
ndbcluster
ndb-connectstring=192.168.10.101        # the IP of the MANAGMENT (THIRD) SERVER


[mysql_cluster]
ndb-connectstring=192.168.10.101        # the IP of the MANAGMENT (THIRD) SERVER

После запуска всех узлов и управления я использую ndb_mgm, команду типа show, и появляется что-то вроде этого:

ndb_mgm> show
Connected to Management Server at: localhost:1186
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=2    @192.168.10.11  (mysql-5.1.39 ndb-7.0.9, Nodegroup: 0, Master)
id=3    @192.168.10.12  (mysql-5.1.39 ndb-7.0.9, Nodegroup: 0)

[ndb_mgmd(MGM)] 1 node(s)

id=1    @192.168.10.101  (mysql-5.1.39 ndb-7.0.9)



[mysqld(API)]   1 node(s)


id=4 (not connected, accepting connect from 192.168.10.101)

посмотри на две последние строчки .. не то что http://dev.mysql.com/tech-resources/articles/mysql-cluster-for-two-servers.html выглядят так (см. пункт 4)

у кого-нибудь когда-нибудь была эта проблема?

Хм Во-первых, что очень важно ... сервер управления и сервер mysql / storage не могут быть одинаковыми. Надеюсь, у вас здесь действительно разные Серверы.

Но ваша проблема выглядит так, как будто у вас есть проблема с конфигурацией на ваших узлах или вы неправильно запустили узлы.

При первом запуске или для тестирования.

mkdir / var / lib / mysql-cluster cd / var / lib / mysql-cluster / usr / local / mysql / bin / ndbd --initial /etc/rc.d/init.d/mysql.server start

действительно важно, чтобы каталог существовал и вы его инициализировали. Обратите внимание, что это немного сбивает с толку, механизм хранения и mysql.server - это разные вещи. Один - это хранилище, которое хранит данные, а другой - клиент, что вы можете видеть внизу. Оба должны быть запущены.

НО

используйте --initial ТОЛЬКО если это действительно важно.

Но для заметки. В MySQL Cluster есть одна небольшая проблема. Вы не можете изменять таблицы в запущенном механизме хранения. Поэтому, если у вас есть таблица с механизмом хранения NDB, вы не можете, например, добавить поле.

Для этого вам нужно изменить его на myisam, например, изменить таблицу, а затем изменить ее обратно на механизм ndbcluster, я думаю, когда у вас будет готовое приложение, все в порядке. Но для многих проектов у вас много проблем.

Я пробовал MySQL Cluster в течение нескольких дней и прочитал много документации, и это действительно классная система, но сложная в эксплуатации и управлении. Но я использовал старую версию кластера mysql, такую ​​как новый 7.1, возможно, есть много других вещей.

Надеюсь, ты сможешь решить проблему.