我正在尝试将远程进程与本地进程结合使用,但是当我这样做时,我得到以下输出
julia> addprocs(["user@host"], tunnel=true, dir="~/julia-79599ada44/bin/", sshflags=`-p 6969`)
id: cannot find name for group ID 350
1-element Array{Any,1}:
2
julia> addprocs(23)
fatal error on 2: ERROR: connect: host is unreachable (EHOSTUNREACH)
in wait at ./task.jl:284
in wait at ./task.jl:194
in stream_wait at stream.jl:263
in wait_connected at stream.jl:301
in Worker at multi.jl:113
in anonymous at task.jl:905
fatal error on fatal error on 5: 6: fatal error on fatal error on fatal error on 9: 14: 8: Worker 3 terminated.
...
我首先尝试添加本地进程,但是当我添加远程进程时出现相同的错误。
答案 0 :(得分:0)
我知道这个问题很旧,但是今天有人问我是否知道这个未回答的问题的答案。
您可以将-p
与--machinefile
选项一起使用:
可以使用
-p
或--machine-file
选项以并行模式启动Julia。-p
n将启动另外的n个工作进程,而--machine-file
file将为文件文件中的每一行启动一个工作程序。必须通过无密码 ssh登录名访问文件中定义的计算机,并且Julia与当前主机安装在相同位置。每个计算机定义均采用[count*][user@]host[:port] [bind_addr[:port]]
的形式。用户默认为当前用户,端口为标准ssh端口。count
是要在节点上生成的工作线程数,默认为1。可选的绑定到bind_addr[:port]
指定其他工作线程用于连接到该工作线程的IP地址和端口。>
自从我使用--machinefile
选项以来已经有很长时间了,在我的情况下n
选项不起作用,我不知道它是否已解决,但是您可以添加例如,如果这对您不起作用,则为您想要的每个工作进程分配一行:
# machinefile.txt
23 user@host
您可以尝试以下方法:
# machinfile.txt
user@host
user@host
user@host
user@host
user@host
user@host
user@host
user@host
user@host
user@host
user@host
user@host
user@host
user@host
user@host
user@host
user@host
user@host
user@host
user@host
user@host
user@host
user@host
然后像下面这样调用julia:
$ julia -p 2 --machinefile machinefile.txt
总共25个进程(2个本地进程和23个远程进程)。
但是n
选项如果有文档说明应该起作用,否则请检查是否有错误,如果没有,请打开一个新的错误。