Re: Configuration error: Error: Could not alloc node id at 172.xx.xx.2 port 1186: Connection done from wrong host ip 172.xx.x.4.
It looks like you only have two API (mysqld) nodes defined in cluster and they are both in use (maybe by two mysqld).
One also need to have a few API nodes defined in cluster configuration to allow running most ndb tools, including ndb_restore.
How many extra API nodes depends of how many ndb tools you will run in parallel.
In your case I would add at least 5 API nodes in cluster configuration, which allows running a few ndb_restore plus some other ndb-tool in parallel.
This extra API nodes do not need to have a HostName, they can have if you want to restrict running tools from specific hosts.
After updating the config.ini, you need to restart ndb_mgmd with --reload option. And after that doing a rolling restart on whole cluster by restart all data nodes and mysql servers, see https://dev.mysql.com/doc/mysql-cluster-excerpt/8.0/en/mysql-cluster-rolling-restart.html
After that SHOW should show something like:
[mysqld(API)] 7 node(s)
id=101 @172.xx.xx.5 (mysql-8.0.21 ndb-8.0.21)
id=102 (@172.xx.xx.6 (mysql-8.0.21 ndb-8.0.21)
id=103 (not connected, accepting connect from any host)
id=104 (not connected, accepting connect from any host)