2016-10-25 8 views
1

DC/OS를 조사해 보면 DC/OS에 master, slave, slave_public의 세 가지 역할이 있다는 것을 알았습니다. 하나의 호스트에서 master, slave 또는 slave_public 역할을 호스트 할 수있는 클러스터를 배포하려고하지만 현재로서는 그렇게.DC/OS에는 세 가지 역할이 있습니다. 그것들은 master, slave, slave_public입니다. 왜 하나의 호스트에 둘 수 있습니까?

왜 내가 디자인 할 때 한 호스트에 넣을 수 없는지 알고 싶습니다. 내가 그렇게하면 몇 가지 제안을 할 수 있을까요?

나는 그저 생각을 가지고 있습니다. 할 수 없다면 DCOS를 사용하지 않을 것이며 mesos와 marathon을 사용할 것입니다.

나에게 아이디어가있는 사람이 있습니까? 나는 그 답장을 고대한다.

답변

1

이것은 의도적으로 설계된 것입니다. 실제로 컴퓨터가 installed with only one role이라는 것을 다시 시행하기 위해 작업 중입니다.

DC/OS를 사용하여 데모/실험을하고 하나의 컴퓨터 만 사용하려는 경우 가상 컴퓨터 또는 도커를 사용하여 해당 컴퓨터를 DC/OS를 설치할 수있는 여러 컴퓨터/파티션으로 파티션 할 수 있습니다. dcos-vagrantdcos-docker이 도움이 될 수 있습니다.

비록 설치하는 한, 세 역할 각각에 대한 구성은 서로 호환되지 않습니다. "마스터"역할은 호스트에서 소프트웨어를 시작/설치 (Mesos-DNS, Mesos 마스터, 마라톤, 출품자, 동물원, 3dt, 관리자, rexray, 스파르타, navstar 등) 다양한 포트. "슬레이브"역할은 머신에서 에이전트에서 구성되고 시작된 mesos-agent (mesos는 mesos-agent에서 mesos-agent로 이름이 바뀌므로 연결 해제 됨)를 갖게합니다. mesos-agent는 1024 이상의 포트를 에이전트에서 mesos 프레임 워크가 시작하는 작업에 제어하도록 구성됩니다. 이러한 포트 중 몇 개는 마스터에서 실행되는 서비스에서 사용되므로 이상한 충돌이 발생하고 나쁜 동작을 수정하기가 어렵습니다.

같은 호스트에서 "slave"와 "slave_public"을 실행하는 경우, 두 구성 모두 약간 다른 구성으로 인해 호스트에서 mesos-agent가 실행되기 때문에 더 충돌합니다. mesos-agent ("slave"역할로 구성된 하나와 "slave_public"역할로 구성된 하나)는 포트 5051에서 수신 대기하도록 구성됩니다. 둘 중 하나만 사용할 수 있기 때문에 결국 하나의 에이전트로 끝납니다

+0

대단히. –

0

DC/OS는 노드를 마스터 또는 에이전트 (슬레이브)로만 실행하는 것을 지원합니다 .Mesos에는 이러한 제한이 없습니다. 그러나 DC/OS는 단순한 Mesos/마라톤 : DC/OS의 모든 추가 기능을 사용하려면 Mesos 및 Marathon 주변에 다양한 구성 요소가 내장되어 있습니다. 이러한 구성 요소가 마스터 또는 에이전트에서 실행되는지 여부에 따라 다르게 작동하고 다른 경우에는 마스터에있는 구성 요소가 또는 에이전트에 존재하지 않을 수도 있고 반대 일 수도 있습니다. 따라서 동일한 노드에서 마스터와 에이전트를 실행하면 충돌/문제가 발생할 수 있습니다.

더 큰 분산 시스템으로 솔루션을 확장하기 전에 작은 개발 설정을 실행하려는 경우 DC/OS Vagrant을 사용하는 것이 좋습니다.

+0

대단히 감사합니다. –