![为什么远程运行 gnu parallel 时我的主节点处于空闲状态?](https://linux22.com/image/1460829/%E4%B8%BA%E4%BB%80%E4%B9%88%E8%BF%9C%E7%A8%8B%E8%BF%90%E8%A1%8C%20gnu%20parallel%20%E6%97%B6%E6%88%91%E7%9A%84%E4%B8%BB%E8%8A%82%E7%82%B9%E5%A4%84%E4%BA%8E%E7%A9%BA%E9%97%B2%E7%8A%B6%E6%80%81%EF%BC%9F.png)
我正在使用 gnu-parallel 在千兆网络中的多台计算机上并行运行多个 python 脚本。
正在处理的文件位于我的主节点上的 tmpfs(RAM)文件夹中。当我启动并行进程时,我可以看到远程节点中的所有核心都在工作,但我的主节点保持空闲状态。
我的平行线如下所示:
parallel --workdir ./netshare --filter-hosts -S :,192.168.88.222\
'myscript.py {.}.shp output_{.}.shp input.shp' ::: tile_{1..445}.shp
我尝试过反转 IP 地址 192.168.88.222 的顺序:结果相同。
我尝试过仅在本地主节点上运行,除了没有可用的远程节点的警告之外,所有 8 个本地线程都开始工作。
我以为可能是网络延迟,但根本没有启动任何 Python 脚本!而在远程主机上,我看到四个脚本都在运行,没有任何问题。
根据 Ole 的评论,我使用 bzip2 测试了该问题,命令如下:
parallel -S $SERVER1,: 'cd /path/to/mounted/network/share && cp largefile.avi file{1}.avi && bzip2 -v file{1}.avi && rm file{1}.avi.bz2' ::: {1..100}
测试完全符合预期。所有主机的所有核心都通过 cp 和 bzip 启动。所以猜测问题出在我的 python 脚本上。