У меня проблема при установке и настройке кластера 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, возможно, есть много других вещей.
Надеюсь, ты сможешь решить проблему.