2010-02-04 1 views
1

나는 하나의 머신에서 Riak을 배우고 있으며 Ubuntu 9의 Erlang 노드 클러스터에 액세스 할 수 있습니다. 원격 코드 로딩 사용하기 Riak을 모든 원격 노드에 어떻게 설치합니까?핫 코드 로딩을 ​​사용하여 여러 원격 노드에 Riak을 어떻게 설치할 수 있습니까?

예를 들어, 내가 얼랭 노드의 클러스터를 가지고 있다고 상상해보십시오. 노드 중 하나에 Riak이 설치되어 있습니다. Riak을 다른 노드에 설치하기 위해 nl (riak)과 같은 것을 할 수 있습니까?

+0

정확히 "원격 코드로드"란 무엇입니까? –

+0

예를 들어, Erlang 노드의 클러스터가 있다고 상상해보십시오. 노드 중 하나에 Riak이 설치되어 있습니다. Riak을 다른 노드에 설치하기 위해 nl (riak)과 같은 것을 할 수 있습니까? – Zubair

답변

4

. 이것은 Erlang의 원격 코드 로딩을 ​​통한 설치가 작동하지 않는다는 것을 의미합니다. 동질적인 클러스터에서 Riak을 실행하는 경우 'make rel'을 통해 하나의 OTP 릴리스를 구축하고 클러스터의 각 시스템에 릴리스를 복사 한 다음 app.config 및 vm.args를 조정하여 적응시켜야합니다.

부팅 서버는 이론적으로는 작동하지만 Riak을 그런 식으로 실행하는 사람은 몰라요. 시도해보기로 결정했다면 바쇼 (Basho)는 riak-users 메일 링리스트를 통해 도움을 제공하게되어 기쁩니다.

+0

임베디드 Javascript 엔진이나 Innodb 기능이 어떻게 든 작동하지 않는다면 작동할까요? – Zubair

+1

Basho가 야생에서 자사 제품을 지원하고 있습니다. – ZeissS

3

짧은 대답은 할 수 없습니다.
원격 코드로드는 모듈 (응용 프로그램과 반대) 수준에서 작동합니다. Riak은 여러 Erlang 모듈로 구성되며 일부 종속성이 필요합니다. nl(riak)은 기본적으로 연결된 모든 노드에 단일 모듈을로드합니다.

긴 대답은 할 수 있지만 할 수는 없습니다.
사실, Riak와 관련된 모듈 목록을 모은 다음 원격로드하고 Riak를 유선으로 구성 할 수 있습니다. application 모듈이 도움이 될 수 있습니다. 이 방법의 문제점은 원격 노드가 실패하거나 재부팅되는 경우 모든 모듈을 다시 전송하고 구성을 반복해야한다는 것입니다.

하면로드 프로세스가 rpc:call/4를 통해 시작 할 수 있도록 참여, 당신은 어딘가에 원격 시스템에 $ERL_LIBS에 Riak를 설치해야한다 "원격로드"의 일종.

+0

원격 코드 로딩이 Erlang의 핵심 기능이기 때문에 Riak 직원에게 연락하는 것이 좋습니다. Riak 설치 프로세스는 각 서버에서 버그가 발생하여 원격 코드로드가 많은 서버에 Riak을 설치해야 할 필요가있을 수 있습니다 . – Zubair

관련 문제