PVM завершается после добавления хоста
В Ubuntu 9.10 с использованием PVM 3.4.5-12 (пакет PVM при использовании apt-get) Программа завершает работу после добавления хоста.
laptop> pvm
pvm> add bowtie-slave
add bowtie-slave
terminated
laptop>
Текущая конфигурация только $PVM_RSH = bin/usr/ssh
Я могу ssh совершенно нормально в ведомый без пароля, и запускать команды на нем.
Есть идеи?
Заранее спасибо!
Вот примеры журналов:
Журнал ноутбука
[t80040000] 02/11 10:23:32 ноутбук (127.0.1.1:xxxxx) LINUX 3.4.5
[t80040000] 02/11 10:23:32 готов Чт 11 февраля 10:23:32 2010
[t80040000] 02/11 10:23:32 netoutput () sendto: errno = 22
[t80040000] 02/11 10:23:32 em = 0x2c24f0
[t80040000] 02/11 10:23:32 [49 / А] [6e / А][76/ А] [61 / А] [6 С / А][69/ А] [64 / А] [20 / А ] [61 / а][72/ A]
[t80040000] 02/11 10:23:32 netoutput () sendto: неверный аргумент
[t80040000] 02/11 10:23:32 pvmbailout(0)
Боути-журнал
[t80080000] 02/11 10:23:25 bowtie-slave (xxx.xxxxx: xxxxx) LINUX64 3.4.5
[t80080000] 02/11 10:23:25 готов Чт 11 февраля 10:23:25 2010
[t80080000] 02/11 10:28:26 work () run = STARTUP, истекло время ожидания мастера
[t80080000] 02/11 10:28:26 pvmbailout(0)
3 ответа
Я также боролся с этой проблемой. Я только нашел пару вещей, которые терпели неудачу для меня.
Сначала мой главный хост начинал с имени узла, которое не было распознано подчиненным хостом. То есть он называл себя "foobar", но на самом деле это должен был быть "foobar.example.com", чтобы раб знал, как с ним разговаривать. Вы указываете это, запустив главную консоль следующим образом:
pvm -nfoobar.example.com
Я также указал полное имя раба. Итак, в консоли:
add baz.mumble.example.com
Тогда у меня была проблема, где консоль зависла, когда я добавил раб. Эй, по крайней мере, это не просто остановка! Я обнаружил, что это из-за брандмауэра на подчиненном хосте - связь терялась (pvmd не связываются через ssh после установки, у них есть другой порт, через который они общаются). К сожалению, запуск без брандмауэра не подходит для этого хоста. По умолчанию pvmd выбирает случайный номер порта, а это не то, что мне нужно. Видимо, есть недокументированная переменная окружения, PVMNETSOCKPORT
, который контролирует, какие порты он использует. Прямо сейчас я работаю над тем, чтобы правильно установить его, чтобы я мог вставить нужную дыру в брандмауэр.
Удачи! Я постараюсь обновить этот ответ, если получу еще дальше.
Ааа... радости запуска PVM! Я использую PVM через внешнюю библиотеку, InterComm. Начало работы с PVM на любой платформе - это всегда увлекательное занятие. Вот несколько вещей, которые вы можете попробовать:
Если ты можешь rsh
для ваших вычислительных узлов, установите $PVM_RSH=/path/to/rsh
, В противном случае настроить через ssh
:
Установите SSH без пароля и вручную убедитесь, что он работает.
Затем создайте $PVM_ROOT/ssh
, содержащий что-то вроде:
#!/bin/sh
host=$1
shift
/usr/bin/ssh $host ". ~/.pvmprofile; $@"
Как только об этом позаботятся:
Установите некоторые переменные окружения (это зависит от машины):
setenv PVM_ARCH LINUX64
setenv PVM_ROOT /users/ps14/opt-intel/pvm3
setenv PVM_BIN ${PVM_ROOT}/bin
# Set the following accordingly:
setenv PVM_RSH ${PVM_ROOT}/ssh
#setenv PVM_RSH rsh
Теперь создайте файл ".pvmprofile", содержащий эти переменные:
rm -f ~/.pvmprofile
env | grep PVM_ > ~/.pvmprofile
Создайте файл хоста, содержащий уникальные имена хостов:
sort -k 1,1 -u ${PBS_NODEFILE} >! pvm_hostfile
Теперь запустите PVM и добавьте узлы. Мне нравится делать это как однострочник:
printf "%s\n%s\n" conf quit|${PVM_ROOT}/lib/pvm pvm_hostfile
Я не знал, что смогу ответить на свой вопрос до сих пор. Причина сбоя была из-за файла hosts в / etc / hosts.
Ubuntu имеет локальный хост, настроенный на 127.0.0.1 localhost, однако, используя PVM, он должен использовать реальный IP-адрес. Таким образом, я поместил фактический IP-адрес и имя моего компьютера поверх локального хоста, чтобы PVM сначала прочитал эту строку. Тогда все работало. Я не знаю, почему это никогда не давало мне сообщение об ошибке обратной связи все же.
Как прокомментировал и rescdsk, указание, какое использовать для запуска мастер-консоли, будет работать, но я хотел быть ленивым и просто набрать pvm, чтобы он заработал.
Я еще не рассмотрел вопросы безопасности... может быть, у rescdsk или у Пита будут хорошие предложения по дырам в безопасности. Хотя мой хост / кластеры не будут подключены к Интернету. Есть ли какие-либо проблемы?