
옥타브에서 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가 현재 사용 중인 버전 대신 프로비저닝이 발생할 때 로드되도록 라이브러리를 어디에 두어야 할지 알 수 없다는 것입니다. 나는 packahes가 어딘가에 저장되어 있다는 것을 알고 있습니다. juju 상태 머신, juju 서버에 있는지 또는 juju가 자체 apt-get 통과 채널로 작동하는지 확실하지 않습니다.
어떤 아이디어라도 감사하겠습니다.
Robie Basak에 대한 응답으로 2015.04.28 1723PST를 추가했습니다---------------------------- ------------
현상금에 감사드립니다, 호르헤 카스트로
내 클러스터가 네트워크에 연결되어 있지 않습니다. 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
옥타브 및 옥타브 컨트롤러 참에 동일한 메커니즘을 사용했습니다. 노드 중 하나의 /var/log/juju에 있는 유닛....로그 파일을 보면 많은 apt가 로드되는 것을 볼 수 있습니다. 노드가 네트워크에 접근할 수 없기 때문에 이것들은 어딘가에 저장됩니다.
이들 중 일부는 참 로딩의 결과로 로드되므로 MaaS나 juju 중 하나가 참에 대한 적절한 요구 사항을 인식하고 있는 것 같습니다. 참 및 설치에 일부 옥타브 패키지를 추가하여 옥타브가 패키지를 설치했는데 갑자기 필수 apt가 누락되었습니다. 이러한 apts는 분명히 옥타브 패키지에 필요합니다(open-mpi는 밝혀진 대로 하나였습니다). 다운로드해서 참에 추가하고 설치했습니다. 이제 MPI 패키지는 옥타브로 로드되지만 위에 표시된 상태를 제공합니다.
답변1
짧은 대답: 귀하가 통제할 수 있습니다. 매력의 고리에서 원하는 것을 할 수 있습니다 install
. 기본값은 프록시 캐시 역할을 하는 MAAS의 squid-deb-proxy와 함께 기본 Ubuntu 아카이브를 사용하는 것입니다. 별도의 미러나 저장소가 활성화되어 있지 않습니다.
MaaS 컨트롤러는 현재 연결되어 있지만 나중에는 연결이 끊어집니다.
패키지를 캐시하지만 그 이상은 캐시하지 않는 MAAS에서 제공하는 squid-deb-proxy를 사용하고 있다고 생각합니다. 기본적으로 이는 참 설치 후크가 보는 환경이 MAAS에서 제공하는 squid-deb-proxy를 사용하여 패키지를 다운로드하도록 구성되었지만 sources.list
여전히 기본 Ubuntu 아카이브를 가리키고 있음을 의미합니다. 따라서 패키지는 MAAS를 통해 Ubuntu 아카이브에서 패키지 캐시로 제공됩니다.
install
대신 사용자 정의 패키지를 사용하도록 준비하려면 먼저 apt를 재구성하여 참 후크를 수정하여 이를 사용하고 싶습니다 . 예를 들어 수정된 패키지로 PPA를 설정한 다음 install
이를 사용하도록 후크를 준비할 수 있습니다.
source
다음의 참 구성 옵션 구현에서 이에 대한 일반적인 예를 볼 수 있습니다.mariadb 참의 구성 변경 후크. 일반적일 필요가 없는 맞춤 참의 경우 다음과 같은 줄을 추가하면 됩니다.
sudo add-apt-repository -y ppa:username/octave
후크 에 패키지를 설치하기 전 install
, 또는 참이 다른 언어로 작성된 경우 적절한 상응물을 설치합니다.
MAAS 시스템을 인터넷 액세스에서 연결 해제하려면 자체 로컬 apt 저장소를 구현한 다음 MAAS 시스템에 squid-deb-proxy를 배열하여 이를 사용하도록 해야 합니다 archive.ubuntu.com
(미러링했다고 가정). 그렇지 않으면 설치 후크를 사용하여 적절하게 구성할 수 있도록 준비하십시오.