分配节点ID失败,错误:'错误:无法分配节点ID
Posted
技术标签:
【中文标题】分配节点ID失败,错误:\'错误:无法分配节点ID【英文标题】:Failed to allocate nodeid, error: 'Error: Could not alloc node id分配节点ID失败,错误:'错误:无法分配节点ID 【发布时间】:2015-09-09 05:39:33 【问题描述】:ndb_mgmd
似乎没有正确读取配置文件
这是我的配置文件的一部分
[ndbd]
# Options for data node "A":
# (one [ndbd] section per data node)
hostname=abhyas.db01 # Hostname or IP address
datadir=/usr/local/mysql/data # Directory for this data node's data files
[ndbd]
# Options for data node "B":
hostname=abhyas.db02 # Hostname or IP address
datadir=/usr/local/mysql/data # Directory for this data node's data files
[mysqld]
# SQL node options:
hostname=abhyas.dbmgr # Hostname or IP address
# (additional mysqld connections can be
# specified for this node for various
# purposes such as running ndb_restore)
但是
ndb_mgm
显示不同的东西
[root@abhyas abhyas_mgr]# ndb_mgm
-- NDB Cluster -- Management Client --
ndb_mgm> SHOW
Connected to Management Server at: abhyas.dbmgr:1186
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=2 (not connected, accepting connect from abhyas.db01)
id=3 (not connected, accepting connect from abhyas.db01)
[ndb_mgmd(MGM)] 1 node(s)
id=1 @192.168.102.134 (mysql-5.6.25 ndb-7.4.7)
[mysqld(API)] 1 node(s)
id=4 (not connected, accepting connect from abhyas.dbmgr)
ndb_mgm> EXIT
如您所见,在我的配置文件中,我有 abhyas.db01
和 abhyas.db02
作为主机。
但集群配置将 NDB 节点显示为两个节点,均来自 abhyas.db01
。 (这不是我想要的,至少现在不是)。
[ndbd(NDB)] 2 node(s)
id=2 (not connected, accepting connect from abhyas.db01)
id=3 (not connected, accepting connect from abhyas.db01)
现在,我错误地使用 config.ini 文件启动 ndb_mgmd
,其中 [ndbd]
条目都指向 abhyas.db01
,但我立即关闭了 ndb_mgm
并更改了配置文件中的条目像我上面粘贴的那样显示。
但由于某种原因,ndb_mgmd
仍然采用旧配置?
我该如何解决这个问题?
谢谢。
PS - 不,这不是防火墙问题。 iptables
已关闭。此外,abhyas.db01
的 ndbd 无论如何都能成功连接。
【问题讨论】:
【参考方案1】:没关系,想通了。
只需在启动 ndb_mgmd 时指定 --reload
选项
即
ndb_mgmd --reload --config-file /home/abhyas_mgr/config.ini
[root@abhyas bin]# ndb_mgmd --reload --config-file /home/abhyas_mgr/config.ini
MySQL Cluster Management Server mysql-5.6.25 ndb-7.4.7
[root@abhyas bin]# ndb_mgm
-- NDB Cluster -- Management Client --
ndb_mgm> show
Connected to Management Server at: abhyas.dbmgr:1186
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=2 (not connected, accepting connect from abhyas.db01)
id=3 (not connected, accepting connect from abhyas.db02)
[ndb_mgmd(MGM)] 1 node(s)
id=1 @192.168.102.134 (mysql-5.6.25 ndb-7.4.7)
[mysqld(API)] 1 node(s)
id=4 (not connected, accepting connect from abhyas.dbmgr)
ndb_mgm>
中提琴!
【讨论】:
【参考方案2】:@anu 的回答是正确的。 但首先 - 您需要先关闭管理集群 PID,方法是发出命令 -
ndb_mgm -e "SHUTDOWN"
那么,--reload
ndb_mgmd --reload --config-file /var/lib/mysql-cluster/config.ini
【讨论】:
以上是关于分配节点ID失败,错误:'错误:无法分配节点ID的主要内容,如果未能解决你的问题,请参考以下文章
未能在 <sql_node_ipaddr> 处为 API 分配 nodeid。返回错误:“未找到 mysqld(API) 的可用节点 ID。”