MySQL Cluster 7.1 в Windows 2008 с несколькими узлами управления - PullRequest
0 голосов
/ 21 мая 2010

Я надеюсь, что кто-то может подсказать мне, где я ошибаюсь при кластеризации 3 серверов с MySQL Cluster 7.1 с несколькими узлами управления.

В настоящее время кластер отлично работает с одним узлом управления. Это настройка:

  1. Первый сервер запускает только экземпляр ndb_mgmd (192.168.66.114)
  2. Второй сервер запускает экземпляр ndbd и mysqld (192.168.66.2)
  3. Третий сервер запускает экземпляры ndbd и mysqld (192.168.66.113)

Я хочу ввести второй узел управления в кластер. У меня точно такой же config.ini для обоих серверов управления. Вот оно:

[NDBD DEFAULT]
NoOfReplicas=2

[MYSQLD DEFAULT]

[NDB_MGMD DEFAULT]
PortNumber=1186
datadir=c:/Progra~1/mysql-cluster-gpl-7.1.3-win32
LogDestination=FILE:filename=c:/Progra~1/mysql-cluster-gpl-7.1.3-win32/clusterlog.log


[TCP DEFAULT]

# Management Server
[NDB_MGMD]
Id=1
HostName=192.168.66.114
ArbitrationRank=1

[NDB_MGMD]
Id=6
HostName=192.168.66.2
ArbitrationRank=2

# Storage Engines
[NDBD]
Id=2
HostName=192.168.66.2
DataDir= D:/AppData/ndb-7.1.3

[NDBD]
Id=3
HostName=192.168.66.113
DataDir= D:/AppData/ndb-7.1.3

[MYSQLD]
Id=4
HostName=192.168.66.2

[MYSQLD]
Id=5
HostName=192.168.66.113

Когда я запускаю экземпляры ndb_mgmd на обоих серверах и запускаю команду show в ndb_mgm, на первом сервере управления я вижу, что он запущен:

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

[ndb_mgmd(MGM)] 2 node(s)
id=1    @192.168.66.114  (mysql-5.1.44 ndb-7.1.3)
id=6 (not connected, accepting connect from 192.168.66.2)

[mysqld(API)]   2 node(s)
id=4    @192.168.66.2  (mysql-5.1.44 ndb-7.1.3)
id=5    @192.168.66.113  (mysql-5.1.44 ndb-7.1.3)

ndb_mgm>

Мне еще предстоит запустить второй экземпляр управления на втором сервере управления, поэтому следующие строки в порядке (с выводом выше ndb_mgm):

id=6 (not connected, accepting connect from 192.168.66.2)

Затем я иду на второй сервер управления (192.168.66.2) и запускаю ndb_mgmd. После его запуска я ввожу команду show:

ndb_mgm> show
Cluster Configuration
---------------------
[ndbd(NDB)]     2 node(s)
id=2 (not connected, accepting connect from 192.168.66.2)
id=3 (not connected, accepting connect from 192.168.66.113)

[ndb_mgmd(MGM)] 2 node(s)
id=1 (not connected, accepting connect from 192.168.66.114)
id=6    @192.168.66.2  (mysql-5.1.44 ndb-7.1.3)

[mysqld(API)]   2 node(s)
id=4 (not connected, accepting connect from 192.168.66.2)
id=5 (not connected, accepting connect from 192.168.66.113)

ndb_mgm>

Вместо перечисления обоих узлов управления как подключенных, второй узел управления просто сообщает, что он сам подключен. Возвращение к первому серверу управления на 192.168.66.114 по-прежнему дает тот же вывод, что и перед запуском второго ndb_mgmd, т.е. подключен ТОЛЬКО узел управления на 192.168.66.114:

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

[ndb_mgmd(MGM)] 2 node(s)
id=1    @192.168.66.114  (mysql-5.1.44 ndb-7.1.3)
id=6 (not connected, accepting connect from 192.168.66.2)

[mysqld(API)]   2 node(s)
id=4    @192.168.66.2  (mysql-5.1.44 ndb-7.1.3)
id=5    @192.168.66.113  (mysql-5.1.44 ndb-7.1.3)

ndb_mgm>

Я провел много часов, пытаясь выяснить, в чем дело, но безрезультатно. Также обратите внимание на файл журнала ndb_mgmd первого сервера управления, выдержка из которого берется сразу после запуска второго ndb_mgmd по адресу 192.168.66.2:

.
2010-05-21 16:05:04 [MgmtSrvr] INFO     -- Reading cluster configuration from 'c:/Progra~1/mysql-cluster-gpl-7.1.3-win32/config.ini'
2010-05-21 16:05:04 [MgmtSrvr] WARNING  -- at line 45: Cluster configuration warning:
  arbitrator with id 6 and db node with id 2 on same host 192.168.66.2
  Running arbitrator on the same host as a database node may
  cause complete cluster shutdown in case of host failure.
2010-05-21 16:05:04 [MgmtSrvr] INFO     -- Config equal!
2010-05-21 16:05:04 [MgmtSrvr] INFO     -- Mgmt server state: nodeid 1 reserved for ip 192.168.66.114, m_reserved_nodes 1.
2010-05-21 16:05:04 [MgmtSrvr] INFO     -- Id: 1, Command port: *:1186
2010-05-21 16:05:04 [MgmtSrvr] DEBUG    -- 127.0.0.1:3727: Connected!
2010-05-21 16:05:04 [MgmtSrvr] DEBUG    -- Sending CONFIG_CHECK_REQ to 1
2010-05-21 16:05:04 [MgmtSrvr] DEBUG    -- Got CONFIG_CHECK_REQ from node: 1. Our generation: 1, other generation: 1, our state: 2, other state: 2, our checksum: 0xc7202738, other checksum: 0xc7202738
2010-05-21 16:05:04 [MgmtSrvr] DEBUG    -- Send CONFIG_CHECK_CONF to node: 1
2010-05-21 16:05:04 [MgmtSrvr] DEBUG    -- Got CONFIG_CHECK_CONF from node: 1
2010-05-21 16:05:04 [MgmtSrvr] DEBUG    -- 192.168.66.113:51051: Connected!
2010-05-21 16:05:04 [MgmtSrvr] DEBUG    -- 192.168.66.2:65492: Connected!
2010-05-21 16:05:04 [MgmtSrvr] INFO     -- Node 1: Node 6 Connected
2010-05-21 16:05:04 [MgmtSrvr] INFO     -- Node 6 connected
2010-05-21 16:05:04 [MgmtSrvr] DEBUG    -- Sending CONFIG_CHECK_REQ to 6
2010-05-21 16:05:04 [MgmtSrvr] DEBUG    -- Got CONFIG_CHECK_CONF from node: 6
2010-05-21 16:05:04 [MgmtSrvr] INFO     -- Node 1: Node 3 Connected
2010-05-21 16:05:04 [MgmtSrvr] DEBUG    -- 192.168.66.113:51051: Stopped!
2010-05-21 16:05:04 [MgmtSrvr] DEBUG    -- 192.168.66.113:51051: Disconnected!
2010-05-21 16:05:04 [MgmtSrvr] INFO     -- Node 1: Node 2 Connected
2010-05-21 16:05:04 [MgmtSrvr] DEBUG    -- 192.168.66.2:65492: Stopped!
2010-05-21 16:05:04 [MgmtSrvr] DEBUG    -- 192.168.66.2:65492: Disconnected!
2010-05-21 16:05:05 [MgmtSrvr] INFO     -- Node 3: Prepare arbitrator node 1 [ticket=16800008ebadb656]
2010-05-21 16:05:05 [MgmtSrvr] INFO     -- Node 2: Started arbitrator node 1 [ticket=16800008ebadb656]

Лично я нахожу интересными следующие две строки из вышеприведенного вывода:

2010-05-21 16:05:04 [MgmtSrvr] DEBUG    -- 192.168.66.2:65492: Stopped!
2010-05-21 16:05:04 [MgmtSrvr] DEBUG    -- 192.168.66.2:65492: Disconnected!

Хотя сообщения об ошибке нет, оно просто говорит Остановлено и Отключено.

Может кто-нибудь выяснить, что не так с моей настройкой? Любая помощь будет очень, очень ценится.

Ответы [ 2 ]

1 голос
/ 30 января 2011

http://dev.mysql.com/tech-resources/articles/mysql-cluster-for-two-servers.html

Приведенная выше ссылка представляет собой пошаговое руководство, которое я использовал для настройки моего кластера. Эта статья предназначена для установки на основе Linux, но шаги для установки Windows практически идентичны. Синтаксис командной строки, конечно, отличается для Windows. Единственные отличия, с которыми вам нужно справиться, - это поместить файлы кластера MySQL в подходящее место на вашем компьютере с Windows и установить службы вручную. Как только вы это сделаете, нет никакой разницы - все делается в файлах конфигурации. Для начала вы можете скопировать установочные файлы, а затем запустить все из командной строки. Таким образом, вам будет легко устранять любые проблемы, которые могут возникнуть, так как вы увидите ошибки в окнах командной строки. В противном случае вам нужно сначала настроить ведение журнала, чтобы посмотреть, что происходит. Имейте в виду, вы должны быть волшебником, чтобы все заработало с первой попытки, поэтому оставьте ведение журнала для начала и посмотрите прямо на вывод служб кластера в окне командной строки. Если вам удастся заставить все работать, вы должны пойти дальше и установить «демоны» как сервисы под Windows. Я могу помочь вам с этим, если понадобится помощь. Оказывается, установка сервисов может быть очень сложной задачей - хотя некоторое время назад я установил свой кластер, я помню, что установка сервисов заняла у меня некоторое время. Я сделал это методом проб и ошибок. Из памяти вы должны использовать ТОЛЬКО 8.3 имен в ваших путях при установке служб. В противном случае мой не удалось запустить (или установить как службы, точно не помню).

0 голосов
/ 22 мая 2010

Ребята, этот действительно исправился.Не знаю почему, но позже сегодня второй узел управления начал правильно подключаться без моего вмешательства.

...