GnuParallel: Parallelizing a script over a cluster, script writes files to the Master node
我有一个简单的bash脚本,它将文本文件中的目录名称列表作为输入。它一步一步地遍历这些目录,将
1 2 3 4 5 6 7 8 9 10 11 12 | #!/bin/bash par_func (){ name=$1 cd /home/zahaib/parentFolder/$name pwd > $name.txt mv $name.txt /home/zahaib/result/ cd /home/zahaib/parentFolder } export -f par_func parallel -a /home/zahaib/folderList.txt -j 10 par_func |
现在我想在集群上并行化相同的脚本,所有辅助节点都已安装主节点的主目录,因此我可以看到在所有工作程序节点上
我尝试使用
1 | parallel -vv --env par_func --slf /home/zahaib/workerList.txt -a /home/zahaib/folderList.txt -j 10 par_func |
但是,这似乎不起作用,Master节点上的外壳在我执行后就挂起了
我的folderList.txt的内容如下:
1 2 3 4 5 6 7 | docs dnload driver pics music . . |
和我的workerList.txt的内容如下:
1 2 3 | 2//usr/bin/ssh zahaib@node-1 2//usr/bin/ssh zahaib@node-2 2//usr/bin/ssh zahaib@node-3 |
根据您的描述,您在做正确的事情,因此您可能遇到了错误。
尝试最小化workerList.txt和folderList.txt,然后运行:
1 | parallel -D ... |
(并签出--result选项,这可能对您有用)。