0

2 つのクラスターで操作するためのスクリプトをプログラミングしています。

私の目的は、1 つのクラスターのみに焦点を当てることです。つまり、すべてのスクリプト ソース コードはクラスターの 1 つだけにあるということです。

たとえば、クラスター AI にはすべてのスクリプトがインストールされているため、クラスター B に ssh してこれらのスクリプトを実行し、クラスター B に再度インストールする必要はありません。

ssh root@ClusterB 'bash -s' < local_ClusterA_script.shクラスターBがClusterAからlocal_ClusterA_script.shを実行するようなbashスクリプトで知っていました。

ここで、クラスター A からクラスター B にバッチ ジョブを送信するために ssh を使用しなければならないというさらなる課題があります。このバッチ ジョブには、クラスター A からのスクリプトが必要です。

# run.sh :

#!/bin/bash

INPUT_ARGS="$@"
qsub -v argv="$INPUT_ARGS" -l arch=x86_64 -l walltime=10:00:00 -l vmem=8GB -l nodes=1:ppn=6 $CLUSTERA_BIN/run.script

# run.script
runprogram()
{
  #Input
  INPUT_ARGS=`echo $argv`
  $CLUSTERA_BIN/runprogram.py "$INPUT_ARGS" ;
}

だから私の問題は、クラスタ B がどこにあるの$CLUSTERA_BIN/runprogram.pyかということです。run.script のコードをクラスター B で正常に実行するにはどうすればよいですか?

と思っていたコマンドの1つです ssh root@ClusterB 'bash -s' < run.sh $MYARGSが、明らかにこのようには機能しません。

4

1 に答える 1

2

クラスター B は、必要なファイルにアクセスする必要があります。したがって、いくつかのオプションがあります。

  1. 気が変わって、ファイルをクラスタ B にコピー (つまりscp、、 ...) します。バージョン管理システム ( 、、... など) を使用して、複数のホスト間でファイルを同期rsyncすることも検討してください。svngit
  2. クラスター B がファイルを必要とする場合、その場でクラスター A からファイルを取得します (たとえば、 password-less を使用scp)。
  3. ファイルをクラスター A の 1 つのディレクトリの下に置き、そのディレクトリをクラスター B と共有します (つまりNFS、、、SMB...)。
  4. ... ... ...
于 2013-03-26T04:53:33.910 に答える