Falha ao alocar o nodeid para API no endereço IP. Erro retornado: 'Nenhum id de nó livre encontrado para o mysqld (API)

2

eu configurei o cluster mysql em centos 7

Nó de gerenciamento

  • db1 = 192.168.5.130

Nós de dados

  • db2 = 192.168.5.131
  • db3 = 192.168.5.132

Nós SQL

  • db4 = 192.168.5.133
  • db5 = 192.168.5.134

saída para o nó de gerenciamento da seguinte forma:

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)

nó de dados conectado ao nó de gerenciamento com sucesso .. mas o nó sql não está conectado

Eu vejo o erro no arquivo 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).'

Como resolver esse problema? Por favor me guie para configurar o mysql-cluster

    
por Karthi Keyan 16.06.2016 / 09:38

1 resposta

1

Verifique se o seu config.ini em /var/lib/mysql-cluster/ deve ser algo como isto, deve anexar o nodeid se você estiver trabalhando com mais de 2 nós de Data. e, mais importante, certifique-se de que os nós de dados que você está tentando executar tenham mysql.service em execução. 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$

Na minha experiência, você deve executar todos os nós ndbd primeiro e depois os nós sqld por um.

    
por 17.04.2018 / 14:53