Failed to allocate nodeid for API at <sql_node_ipaddr>. Returned error: 'No free node id found for mysqld(API).'
Failed to allocate nodeid for API at <sql_node_ipaddr>. Returned error: 'No free node id found for mysqld(API).'
OS 和 mysql 集群版本
- OS: Linuxcentos7
- mysql 集群: mysql-cluster-community-7.5.8-1.el7.x86_64
服务器列表
- 192.168.1.101 ndbd node1
- 192.168.1.102 ndbd node2
- 192.168.1.103 ndb_mgmd
- 192.168.1.104 mysql(api) 节点 1
- 192.168.1.105 mysql(api) node2
两个数据节点(ndbd)正常,但是sql节点(mysql)无法连接到ndb_mgmd.The网络正常。 SElinux 和防火墙被禁用。
我的配置
mgmd 配置(/var/lib/mysql-cluster/config.ini)
[ndbd default]
NoOfReplicas=2
DataMemory=80M
IndexMemory=18M
ServerPort=2202
[ndb_mgmd]
HostName=192.168.1.103
DataDir=/var/lib/mysql-cluster
[ndbd]
HostName=192.168.1.101
NodeId=2
DataDir=/opt/mysql/data
[ndbd]
HostName=192.168.1.102
NodeId=3
DataDir=/opt/mysql/data
[mysqld]
HostName=192.168.1.104
mysql 配置(/etc/config.ini)
[mysqld]
user=mysql
ndbcluster
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
symbolic-links=0
default-storage-engine=NDBCLUSTER
ndb-connectstring=192.168.1.103
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[mysql_cluster]
ndb-connectstring=192.168.1.103
错误日志
mgmd 日志
2017-11-27 20:28:35 [MgmtSrvr] WARNING -- Failed to allocate nodeid for API at 192.168.1.104. Returned error: 'No free node id found for mysqld(API).'
2017-11-27 20:28:36 [MgmtSrvr] INFO -- Alloc node id 4 failed, no new president yet
sql 节点日志(mysqld)
2017-11-28T03:18:43.565265Z 4 [Warning] NDB: Failed to acquire global schema lock, error: (4009)Cluster Failure
2017-11-28T03:18:43.566664Z 4 [Warning] NDB: Failed to acquire global schema lock, error: (4009)Cluster Failure
1) 您从错误的节点启动了管理服务器,它已启动
来自 192.168.1.104,但在配置中它说它应该在
192.168.1.103.
2) 您缺少第二个 MySQL 服务器的 mysqld 部分
192.168.1.105
一些建议:
1)为所有节点分配节点id
2) 同时添加一个 API 节点以启用 运行 一些 NDB 工具
OS 和 mysql 集群版本
- OS: Linuxcentos7
- mysql 集群: mysql-cluster-community-7.5.8-1.el7.x86_64
服务器列表
- 192.168.1.101 ndbd node1
- 192.168.1.102 ndbd node2
- 192.168.1.103 ndb_mgmd
- 192.168.1.104 mysql(api) 节点 1
- 192.168.1.105 mysql(api) node2
两个数据节点(ndbd)正常,但是sql节点(mysql)无法连接到ndb_mgmd.The网络正常。 SElinux 和防火墙被禁用。
我的配置
mgmd 配置(/var/lib/mysql-cluster/config.ini)
[ndbd default]
NoOfReplicas=2
DataMemory=80M
IndexMemory=18M
ServerPort=2202
[ndb_mgmd]
HostName=192.168.1.103
DataDir=/var/lib/mysql-cluster
[ndbd]
HostName=192.168.1.101
NodeId=2
DataDir=/opt/mysql/data
[ndbd]
HostName=192.168.1.102
NodeId=3
DataDir=/opt/mysql/data
[mysqld]
HostName=192.168.1.104
mysql 配置(/etc/config.ini)
[mysqld]
user=mysql
ndbcluster
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
symbolic-links=0
default-storage-engine=NDBCLUSTER
ndb-connectstring=192.168.1.103
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[mysql_cluster]
ndb-connectstring=192.168.1.103
错误日志
mgmd 日志
2017-11-27 20:28:35 [MgmtSrvr] WARNING -- Failed to allocate nodeid for API at 192.168.1.104. Returned error: 'No free node id found for mysqld(API).'
2017-11-27 20:28:36 [MgmtSrvr] INFO -- Alloc node id 4 failed, no new president yet
sql 节点日志(mysqld)
2017-11-28T03:18:43.565265Z 4 [Warning] NDB: Failed to acquire global schema lock, error: (4009)Cluster Failure
2017-11-28T03:18:43.566664Z 4 [Warning] NDB: Failed to acquire global schema lock, error: (4009)Cluster Failure
1) 您从错误的节点启动了管理服务器,它已启动 来自 192.168.1.104,但在配置中它说它应该在 192.168.1.103.
2) 您缺少第二个 MySQL 服务器的 mysqld 部分 192.168.1.105
一些建议: 1)为所有节点分配节点id 2) 同时添加一个 API 节点以启用 运行 一些 NDB 工具