无法为API分配nodeid

我正在运行一个非常小的MySQL集群,configuration文件非常简单。 数据节点连接正常,但pipe理服务器拒绝接受API节点。 以下是发生的事情:

INFO -- Node 2: Initial start, waiting for 3 to connect, nodes [ all: 2 and 3 connected: 2 no-wait: ] INFO -- Node 3: Initial start, waiting for 2 to connect, nodes [ all: 2 and 3 connected: 3 no-wait: ] WARNING -- Failed to allocate nodeid for API at 10.0.42.2. Returned error: 'No free node id found for mysqld(API).' WARNING -- Failed to allocate nodeid for API at 127.0.0.1. Returned error: 'No free node id found for mysqld(API).' 

showndb_mgm输出这个:

 Connected to Management Server at: localhost:1186 Cluster Configuration --------------------- [ndbd(NDB)] 2 node(s) id=2 @127.0.0.1 (mysql-5.6.14 ndb-7.3.3, starting, Nodegroup: 0) id=3 @10.0.42.2 (mysql-5.6.14 ndb-7.3.3, starting, Nodegroup: 0) [ndb_mgmd(MGM)] 1 node(s) id=1 @127.0.1.1 (mysql-5.6.14 ndb-7.3.3) [mysqld(API)] 2 node(s) id=4 (not connected, accepting connect from any host) id=5 (not connected, accepting connect from any host) 

这是my.cnf没什么特别有趣的:

 [mysqld] sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES language=english ndbcluster [mysql_cluster] ndb-connectstring=localhost 

config.ini唯一与API相关的configuration是这样的:

 [mysqld] [mysqld] 

没有[mysqld default]部分。 我试过设置主机名。

我已经尝试了ndbd --reloadndbd --initial ,并重新启动。

更新

它看起来好像两个数据节点都不在基于netstat -nl的输出的端口2202上进行netstat -nl 。 由于既不在监听,也不能彼此连接,并且集群从不准备API节点join。 有什么可以阻止呢?

看起来问题是我混合本地主机,局域网和互联网IP地址。 所有服务器都需要能够使用pipe理服务器parsing的IP地址彼此访问。 你可以用[tcp]来覆盖这个,但是太杂乱了。

你的文件中有一个错字。 地址127.0.1.1对于回送地址或本地主机是错误的。 它应该是127.0.0.1。