gnu-parallelremote-execution

GNU Parallel does not do anything using remote execution


I just need a hint. I am trying to run the following command from the GNU parallel tutorial (GNU Parallel tutorial):

parallel -S $SERVER1,$SERVER2 echo ::: running on more hosts

I replaced $SERVERX with known hosts in my network. If I execute the command I'm getting asked for my password for each server and after that nothing happens anymore. The curser blinks all day long and I do not get any error message. I tried different servers with the same result.

The verbose mode shows:

ssh $SERVER1 -- exec perl -e @GNU_Parallel\\=split/_/,\\"use_IPC::Open3\\;_use_MIME::Base64\\"\\;eval\\"@GNU_Parallel\\"\\;\\$SIG\{CHLD\}\\=\\"IGNORE\\"\\;my\\$zip\\=\(grep\{-x\\$_\}\\"/usr/local/bin/bzip2\\"\)\[0\]\\|\\|\\"bzip2\\"\\;open3\(\\$in,\\$out,\\"\>\\&STDERR\\",\\$zip,\\"-dc\\"\)\\;if\(my\\$perlpid\\=fork\)\{close\\$in\\;\\$eval\\=join\\"\\",\\<\\$out\>\\;close\\$out\\;\}else\{close\\$out\\;print\\$in\(decode_base64\(join\\"\\",@ARGV\)\)\\;close\\$in\\;exit\\;\}wait\\;eval\\$eval\\; and Followed by random characters

Something similar appears four times. I guess for the four jobs I started. I'd be very happy for help.


Solution

  • I think you are expected to set up passwordless ssh logins to all the remotes so GNU Parallel can get into them. – Mark Setchell

    This was the right suggestion. Setting up key authentication using ssh-keygen and ssh-copy-id did the job! Thank you very much now it works. A short hint in the tutorial would have been great.