J'ai configuré un cluster warewulf sur centos 7 et j'ai installé openmpi-x86_64-1.10.0-10.el7, en plus j'ai aussi installé mpich. Lorsque j'exécute mpirun avec openmpi il en résulte l'erreur ci-dessous, la même chose avec mpich fonctionne parfaitement. Changer le n0000 pour le cluster master fonctionne également, mais il ne tourne pas dans le nœud.
mpirun -n 1 -host n0000 echo $HOSTNAME
[n0000.cluster:01719] [[24772,0],1] tcp_peer_send_blocking: send() to socket 9 failed: Broken pipe (32)
--------------------------------------------------------------------------
ORTE was unable to reliably start one or more daemons.
This usually is caused by:
* not finding the required libraries and/or binaries on
one or more nodes. Please check your PATH and LD_LIBRARY_PATH
settings, or configure OMPI with --enable-orterun-prefix-by-default
* lack of authority to execute on one or more specified nodes.
Please verify your allocation and authorities.
* the inability to write startup files into /tmp (--tmpdir/orte_tmpdir_base).
Please check with your sys admin to determine the correct location to use.
* compilation of the orted with dynamic libraries when static are required
(e.g., on Cray). Please check your configure cmd line and consider using
one of the contrib/platform definitions for your system type.
* an inability to create a connection back to mpirun due to a
lack of common network interfaces and/or no route found between
them. Please check network connectivity (including firewalls
and network routing requirements).
--------------------------------------------------------------------------
Vous trouverez ci-dessous les sorties des adresses IP des clusters et des serveurs. J'ai également jeté un coup d'oeil à https://www.open-mpi.org/community/lists/users/2015/09/27643.php où un problème similaire est décrit, mais je ne pense pas avoir d'interfaces dans le même sous-réseau.
Server:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 08:00:27:2e:ee:c2 brd ff:ff:ff:ff:ff:ff
inet 10.0.2.15/24 brd 10.0.2.255 scope global dynamic enp0s3
valid_lft 85746sec preferred_lft 85746sec
inet6 fe80::a00:27ff:fe2e:eec2/64 scope link
valid_lft forever preferred_lft forever
3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 08:00:27:76:b9:e7 brd ff:ff:ff:ff:ff:ff
inet 10.1.1.1/24 brd 10.1.1.255 scope global enp0s8
valid_lft forever preferred_lft forever
inet6 fe80::a00:27ff:fe76:b9e7/64 scope link
valid_lft forever preferred_ft forever
Node:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/24 scope host lo
valid_lft forever preferred_lft forever
inet 127.0.0.1/8 brd 127.255.255.255 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 08:00:27:57:46:ce brd ff:ff:ff:ff:ff:ff
inet 10.1.1.10/24 brd 10.1.1.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::a00:27ff:fe57:46ce/64 scope link
valid_lft forever preferred_lft forever
Des idées ?
0 votes
D'après l'erreur, ça ressemble à un problème de pare-feu. Avez-vous essayé de désactiver le pare-feu et/ou êtes-vous sûr que le bon service est exécuté sur la machine distante ?
0 votes
J'ai une installation minimale de centos, je ne pense pas qu'elle ait un pare-feu. iptables n'est pas installé et les pare-feu non plus.
0 votes
Quel support utilisez-vous pour interconnecter les nœuds (Ethernet, fibre, etc.) ? Combien de nœuds avez-vous au total ? Quel type de dispositif utilisez-vous pour terminer toutes vos connexions ?
0 votes
J'utilise un réseau de boîtes virtuelles en mode hôte seulement et le maître et le nœud fonctionnent tous deux sur des machines virtuelles.
0 votes
Oh ok. Quel type d'adaptateur réseau utilisez-vous dans la boîte virtuelle sur le nœud et le maître ? Savez-vous si les deux machines peuvent communiquer sur tcp/ip via ping ou tout autre protocole réseau ?
0 votes
Je vois que vous n'utilisez que l'hôte.
0 votes
Les machines peuvent-elles se voir ?
0 votes
Oui, ils peuvent se voir. Je peux faire un ssh sans mot de passe. Et si on utilise mpich à la place, le travail est fait.
0 votes
Il est intéressant de noter que si j'exécute la commande sur le nœud, elle s'exécute sans problème. Ce n'est que si le nœud maître exécute la commande que le problème survient. Comment puis-je résoudre ou déboguer ce problème ? Où puis-je obtenir plus d'informations ?
0 votes
Ok, si je désactive enp0s3, le réseau utilisé pour internet, le mpirun peut être exécuté dans le master. Je pense donc que le problème doit être similaire à celui décrit dans le document open-mpi.org/community/lists/users/2015/09/27643.php .