Я пытаюсь использовать openmpi из октавы для запуска других экземпляров октавы на удаленных машинах. Когда я запускаю скрипт, который должен запускать различные процессы, он жалуется на устаревшие библиотеки:
Running octave in parallel on /opt/data/octave/test using 24 processors
[pleasant-increase:13959] Warning: could not find environment variable "LD_PRELOAD"
[octave-controller:15259] mca: base: component_find: unable to open /usr/lib/openmpi/lib/openmpi/mca_paffinity_hwloc: perhaps a missing symbol, or compiled for a different ver$
[octave-controller:15259] mca: base: component_find: unable to open /usr/lib/openmpi/lib/openmpi/mca_carto_auto_detect: perhaps a missing symbol, or compiled for a different v$
[octave-controller:15259] mca: base: component_find: unable to open /usr/lib/openmpi/lib/openmpi/mca_carto_file: perhaps a missing symbol, or compiled for a different version $
[octave-controller:15259] mca: base: component_find: unable to open /usr/lib/openmpi/lib/openmpi/mca_shmem_mmap: perhaps a missing symbol, or compiled for a different version $
[octave-controller:15259] mca: base: component_find: unable to open /usr/lib/openmpi/lib/openmpi/mca_shmem_posix: perhaps a missing symbol, or compiled for a different version$
[octave-controller:15259] mca: base: component_find: unable to open /usr/lib/openmpi/lib/openmpi/mca_shmem_sysv: perhaps a missing symbol, or compiled for a different version $
--------------------------------------------------------------------------
It looks like opal_init failed for some reason; your parallel process is
likely to abort. There are many reasons that a parallel process can
fail during opal_init; some of which are due to configuration or
environment problems. This failure appears to be an internal failure;
here's some additional information (which may only be relevant to an
Open MPI developer):
opal_shmem_base_select failed
--> Returned value -1 instead of OPAL_SUCCESS
--------------------------------------------------------------------------
[octave-controller:15259] [[INVALID],INVALID] ORTE_ERROR_LOG: Error in file runtime/orte_init.c at line 79
--------------------------------------------------------------------------
It looks like MPI_INIT failed for some reason; your parallel process is
likely to abort. There are many reasons that a parallel process can
fail during MPI_INIT; some of which are due to configuration or environment
problems. This failure appears to be an internal failure; here's some
additional information (which may only be relevant to an Open MPI
developer):
ompi_mpi_init: orte_init failed
--> Returned "Error" (-1) instead of "Success" (0)
--------------------------------------------------------------------------
*** An error occurred in MPI_Init
*** on a NULL communicator
*** MPI_ERRORS_ARE_FATAL: your MPI job will now abort
Он продолжает это для различных процессов, некоторые библиотеки отличаются, но всегда имеют
opal_shmem_base_select failed
...
ompi_mpi_init: orte_init failed
Я видел комментарии, в которых говорится об изменении флагов компиляции на openmpi и перекомпиляции.
Проблема в том, что я использую локальный репозиторий juju для инициализации машин, и я не могу понять, куда поместить библиотеки, чтобы они загружались при инициализации, вместо версии, в которой используется juju. в настоящее время использую. Я знаю, что пакы где-то хранятся. Я не уверен, находятся ли они на конечном автомате juju, на сервере juju, или juju действует как его собственный проходной канал apt-get.
Любые идеи приветствуются.
Добавлено 2015.04.28 1723PST-in отклик на Роби Басака ------------------------------------ ---------------
Спасибо за награду, Хорхе Кастро
Мой кластер не подключен к сети. Контроллер MaaS на данный момент подключен, но в будущем будет отключен. Когда я настраивал juju, я использовал локальный репозиторий, как в
juju sync-tools -e maas --local-dir="~/.juju/sync-tools"
juju bootstrap -e mass --debug --upload-tools=true --metadata-source="~/.juju/sync-tools" --to jujuBS.maas
juju deploy --repository=".juju/charms" local:juju-gui --to 0
juju expose juju-gui
я использовал один и тот же механизм для подвесок октавного и октавного контроллеров. Когда я смотрю на модуль .... log-файлы в / var / log / juju, на одном из узлов я вижу, как загружаются многие apts. Они хранятся где-то, так как узел не имеет доступа к сети.
Некоторые из них загружаются в результате загрузки чарма, поэтому кажется, что либо MaaS, либо juju осведомлены о подходящих требованиях к чарам. Я добавил несколько октавных пакетов в талисман и инсталляцию, чтобы октава установила их, и вдруг появились необходимые apts, которые отсутствуют. Эти apts, очевидно, требуются в пакете octave (как оказалось, open-mpi был один). Я скачал его, добавил его в брелок и установил. Теперь пакет MPI загружается в октаве, но дает статус, который вы видите выше.
Короткий ответ: Вы сознаете ситуацию; можно сделать то, что Вы любите в очаровании install
рычаг. Значение по умолчанию должно использовать основной архив Ubuntu с squid-deb-proxy МААСА, действующим как кэш прокси-сервера; нет никакого отдельного зеркала или активного репозитория.
контроллер Мааса подключен, на данный момент, но будет разъединен в будущем.
я думаю, что Вы используете squid-deb-proxy, как предоставлено МААСОМ, который пакеты кэшей, но ничто больше. По умолчанию это означает, что среда, которую видит Ваш рычаг установки очарования, склонна настроенный для использования squid-deb-proxy, предоставленного МААСОМ для загрузки пакетов, но sources.list
все еще указывающий на основной архив Ubuntu. Таким образом, Ваши пакеты прибывают из архива Ubuntu через МААС как кэш пакета.
, Чтобы расположить использовать пользовательский пакет вместо этого, Вы хотите изменить свое очарование install
, рычаг для использования его реконфигурировал склонный сначала. Например, Вы могли настроить PPA со своим измененным пакетом и затем принять меры, чтобы Ваш install
рычаг использовал его.
Вы видите универсальный пример этого в реализации source
параметр конфигурации очарования в измененный на конфигурацию рычаг mariadb очарования . В случае пользовательского очарования, что Вы не должны быть универсальными, Вы могли просто добавить строку как:
sudo add-apt-repository -y ppa:username/octave
перед установкой пакета в Вашем install
рычаг или подходящий эквивалент, если очарование записано на другом языке.
, Если Вы хотите разъединить машину МААСА от доступа в Интернет, затем необходимо будет реализовать собственный локальный способный репозиторий и затем любое расположение squid-deb-proxy на машине МААСА для использования его в пользу archive.ubuntu.com
(предположение, что Вы зеркально отразили его), или иначе примите меры, чтобы Ваши рычаги установки настроили склонный использовать его.