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

Failed to allocate nodeid for API at <ip-address>. Возвращенная ошибка: 'Не найден идентификатор свободного узла для mysqld (API)</ip-address>

Я настроил mysql-cluster в centos 7

Узел управления

Узлы данных

Узлы SQL

вывод для узла управления следующим образом.

ndb_mgm> show
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=2    @192.168.5.131  (mysql-5.6.28 ndb-7.4.10, starting, Nodegroup: 0)
id=3    @192.168.5.132  (mysql-5.6.28 ndb-7.4.10, starting, Nodegroup: 0)

[ndb_mgmd(MGM)] 1 node(s)
id=1    @192.168.5.135  (mysql-5.6.28 ndb-7.4.10)

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

узел данных успешно подключен к узлу управления .. но узел sql Не подключен

я вижу некоторую ошибку в ndb_1_cluster.log файл.

WARNING  -- Failed to allocate nodeid for API at 192.168.5.134. Returned error: 'No free node id found for mysqld(API).'

Как решить эту проблему? Пожалуйста, помогите мне настроить mysql-cluster

Проверьте свои config.ini в /var/lib/mysql-cluster/ он должен выглядеть примерно так: нужно прикрепить nodeid, если вы работаете с более чем двумя узлами данных. и, что наиболее важно, убедитесь, что узлы данных, которые вы пытаетесь запустить, mysql.service Бег. systemctl mysql.service status

[ndb_mgmd]
# Management process options:
hostname=10.10.12.184           # Hostname of the manager
datadir=/var/lib/mysql-cluster  # Directory for the log files

[ndbd]
hostname=10.10.12.186           # Hostname of the 1st data node
nodeid=1;                       # Node id 1
datadir=/usr/local/mysql/data   # Remote directory for the data files

[ndbd]
hostname=10.10.12.187           # Hostname of the 2nd data node
nodeid=2;                       # Node id 2
datadir=/usr/local/mysql/data   # Remote directory for the data files

[ndbd]
hostname=10.10.12.188           # Hostname of the 3rd data node
nodeid=3;                       # Node id 3
datadir=/usr/local/mysql/data   # Remote directory for the data files

[ndbd]
hostname=10.10.12.189           # Hostname of the 4th data node
nodeid=4;                       # Node id 4
datadir=/usr/local/mysql/data   # Remote directory for the data files

[mysqld]
# SQL node options:
hostname=10.10.12.184  # In our case the MySQL server/client is on the same Droplet as$

По моему опыту, вы должны сначала запустить все узлы ndbd, а затем узлы sqld по очереди.