Я программирую скрипт для операций над 2 кластерами.Как использовать ssh для запуска локального скрипта в скрипте qsub между двумя кластерами?
Моя цель состоит в том, чтобы сфокусировать только один кластер, это означает, что каждый исходный код сценария находится только на одном из кластеров.
Например, в Cluster AI установили все скрипты, теперь я хочу, чтобы SSH к кластеру B, чтобы запустить эти скрипты без необходимости устанавливать их снова на кластерной B.
Я знал, что с Баш скрипт, как ssh [email protected] 'bash -s' < local_ClusterA_script.sh
затем кластера B запустите local_ClusterA_script.sh из ClusterA.
Теперь есть еще проблема, что я должен использовать SSH, чтобы отправить пакетное задание на кластер В из кластера А, это пакетное задание нужен скрипт из кластера А.
# run.sh :
#!/bin/bash
INPUT_ARGS="[email protected]"
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?
Одна команда Я думал, что это будет ssh [email protected] 'bash -s' < run.sh $MYARGS
, но очевидно, что это не сработает.
Мой опыт показывает, что размещение скриптов на файловой системе, которая может быть достигнута через сеть, так это то, как люди обычно это делают. – dbeer