gpt4 book ai didi

gnu-parallel - GNU 并行 : distribute files from one source to remote hosts while distributing destination files

转载 作者:行者123 更新时间:2023-12-02 04:52:37 26 4
gpt4 key购买 nike

场景:S3 存储桶有 1000 个文件。我有两台机器。每台机器都有两个驱动器/dev/sda 和/dev/sdb。限制:没有一个单独的驱动器可以容纳所有 1000 个文件。没有一台机器可以容纳所有 1000 个文件。预期结果:使用 GNU parallel 在两台机器上的 4 个驱动器上分发 1000 个文件。

我试过这样的事情:

parallel --xapply --joblog out.txt -S:,R echo {1} {2} ::: "/dev/sda" "/dev/sdb" ::: {0..10}

但是我得到:

Seq Host    Starttime   JobRuntime  Send    Receive Exitval Signal  Command  2   :   1414040436.607       0.037  0   0   0   0   echo /dev/sda 14   :   1414040436.615       0.030  0   0   0   0   echo /dev/sda 36   :   1414040436.623       0.024  0   0   0   0   echo /dev/sda 58   :   1414040436.632       0.015  0   0   0   0   echo /dev/sda 710  :   1414040436.640       0.006  0   0   0   0   echo /dev/sda 91   R   1414040436.603       0.088  0   0   0   0   echo /dev/sdb 03   R   1414040436.611       0.092  0   0   0   0   echo /dev/sdb 25   R   1414040436.619       0.095  0   0   0   0   echo /dev/sdb 47   R   1414040436.628       0.095  0   0   0   0   echo /dev/sdb 69   R   1414040436.636       0.096  0   0   0   0   echo /dev/sdb 811  R   1414040436.645       0.094  0   0   0   0   echo /dev/sdb 10

其中“R”是远程主机 IP。如何将文件(我在一个文件中有所有名称)从 S3 分发到 4 个驱动器?谢谢。

最佳答案

GNU Parallel 非常适合在旧作业完成后开始新作业:它动态地将作业划分到服务器,而不是事先。

您正在寻找的是一种预先执行此操作的方法。

您的 --xapply 方法似乎不错,但您需要强制 GNU Parallel 均匀分配给主机。您当前的方法取决于每个主机完成的速度,这通常不会奏效。

所以像这样:

parallel echo {1}//{2} ::: sda sdb ::: server1 server2 | parallel --colsep '//' --xapply echo copy {3} to {1} on {2} :::: - filenames.txt

或者:

parallel --xapply echo copy {3} to {1} on {2} ::: sda sda sdb sdb ::: server1 server2 server1 server2 :::: filenames.txt

关于gnu-parallel - GNU 并行 : distribute files from one source to remote hosts while distributing destination files,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26521878/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com