2014-07-19 5 views
0

J'ai plusieurs machines virtuelles et je souhaite exécuter un traitement parallèle à l'aide de ces machines virtuelles. J'ai écrit un programme qui utilise ssh pour se connecter aux machines virtuelles. La commande mpiexec doit être exécutée via ssh sur les machines virtuelles. Mais, cela ne se produit et je ne pense pas que je ne sont même pas un message d'erreurImpossible d'exécuter la commande mpiexec via ssh

ssh=paramiko.SSHClient() 
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())  
ssh.connect(ips_in_file[0]) # connecting to the VM 
cmd1="mpiexec --wdir /export/validation_files/ -f /export/validation_files/freeVMs.txt -n "+str(numVMs)+" python mulpar_new.py "+ s+" cmd>>matrix_result.txt" 
ssh.exec_command(cmd1) 

mpiexec est exécutaient Qu'est-ce que je fais mal?

+0

d'abord, pouvez-vous 'ssh' par 'ssh' lui-même comme' ssh user @ server' ou par tout moyen? –

Répondre

0

Inclut le chemin à mpiexec, vous pouvez l'obtenir en utilisant la commande suivante sur VM

which mpiexec 

Au lieu de

cmd1="mpiexec --wdir /export/validation_files/ -f /export/validation_files/freeVMs.txt -n "+str(numVMs)+" python mulpar_new.py "+ s+" cmd>>matrix_result.txt" 

Utilisez

cmd1="<path to mpiexec>mpiexec --wdir /export/validation_files/ -f /export/validation_files/freeVMs.txt -n "+str(numVMs)+" python mulpar_new.py "+ s+" cmd>>matrix_result.txt" 
Questions connexes