아파치 메소스 및 마라톤을 사용하는 도커 컨테이너

apache-mesos-logo apache-mesos-marathon-logo Docker Logo

Apache Mesos 는 UC 버클리에서 개발한 오픈 소스 클러스터 관리자입니다. 분산 애플리케이션 전반에서 리소스 격리 및 공유 기능을 제공합니다. 그림은 Mesos의 주요 구성 요소를 보여줍니다.

Mesos는 다음과 같이 구성됩니다. 마스터 데몬을 관리하는 슬레이브 데몬을 각 클러스터 노드에서 실행합니다. Mesos 프레임워크 는 메소스에서 실행되는 애플리케이션이며 작업 이 노예들에게. 슬레이브는 다음 중 하나입니다.
일반적으로 동일한 공급업체의 물리적 또는 가상 머신을 사용합니다.
mesos-architecture

Mesos는 2단계 스케줄링 메커니즘을 사용합니다. 리소스 제공 는 프레임워크에 만들어집니다. Mesos 마스터 노드는 각 프레임워크에 제공할 리소스 수를 결정하고, 각 프레임워크는 수용하는 리소스와 애플리케이션을 결정합니다.
를 사용하여 해당 리소스에서 실행할 수 있습니다.

마라톤 는 Mesos에서 실행되는 컨테이너 오케스트레이션 플랫폼입니다. 여러 컨테이너 형식 가 지원되고 도커는
확실히 가장 일반적인 것입니다!

이 블로그에서는 Mesos, Marathon을 설정하고 간단한 Docker 이미지를 실행하는 방법을 설명합니다. 이 설정은 용감한 분들을 위한 것입니다. 저는 항상 내부를 들여다보는 데 관심이 많아서 이 포스팅을 작성하게 되었습니다. 하지만 앞으로의 포스팅에서는
원활한 설치.

시작해보자!

CentOS VM 구성

CentOS 다운로드 를 클릭하고 그림과 같이 VM을 구성합니다:
centos-7.1-install

구성 요소 설치

이 설정에 필요한 다양한 구성 요소를 설치합니다.

  1. Mesos 리포지토리를 구성합니다:
  2. 메소스 및 마라톤을 설치합니다:
  3. ZooKeeper를 설치합니다:
  4. Docker 리포지토리를 추가합니다:
  5. Docker를 설치합니다:

호스트 이름/IP 주소 매핑 구성

편집 /etc/hosts 를 클릭하고 호스트 이름과 IP 주소 매핑을 생성합니다. 다음을 사용하여 IP 주소 찾기 ifconfig 를 클릭하고 CentOS 설치 중에 활성화된 네트워크 인터페이스를 선택합니다.

서비스 시작

모든 서비스 시작

  1. Docker를 시작합니다:
  2. ZooKeeper를 시작합니다:
  3. Mesos 마스터를 시작합니다:
  4. 구성 메소 그리고 도커 컨테이너라이저:
  5. 메소스 슬레이브를 시작합니다:
  6. 마라톤을 시작합니다:
  7. 서비스 확인: Mesos UI: http://127.0.0.1:5050 마라톤 UI: http://127.0.0.1:8080 로그: tail -f /var/log/messages
  8. Mesos 마스터를 확인합니다:
  9. 메소스 슬레이브를 확인합니다:
  10. ZooKeeper를 확인합니다:

Mesos에 Docker 애플리케이션 배포

A 간단한 도커 기반 애플리케이션 는 구성 파일을 사용하여 정의됩니다. 마라톤은 포트 8080에서 실행되므로 업데이트된 구성은 다음과 같습니다.
파일은 다음과 같습니다:

애플리케이션을 다음 이름으로 배포합니다:

애플리케이션이 이미지를 다운로드한 다음 컨테이너를 실행하는 데 시간이 다소 걸립니다. 이 설정은 약간 민감하며 애플리케이션을 여러 번 실행한 결과 Docker 이미지가 항상 성공적으로 다운로드되지 않는 것으로 나타났습니다.
이 경우 Docker 이미지는 다음을 사용하여 수동으로 다운로드했습니다. 도커 풀 파이썬:3 를 클릭한 다음 애플리케이션을 성공적으로 배포할 수 있습니다.

저희의 경우 마스터와 슬레이브가 동일한 머신에서 실행되고 있으므로 Docker 이미지와 실행 중인 컨테이너 목록을 쉽게 확인할 수 있습니다:

애플리케이션은 포트에서 사용할 수 있습니다. 31669 http://127.0.0.1:31669 에서 확인할 수 있습니다:
mesos-marathon-app-output
메소스 UI(http://127.0.0.1:5050)를 표시합니다:
marathon-ui-app-output
마라톤 UI(http://127.0.0.1:8080)를 표시합니다:
mesos-ui-app-output
As
보시다시피 이것은 상당히 복잡한 설정입니다. 향후 블로그 게시물에서 DC/OS 를 사용하여 보다 원활하게 설정할 수 있습니다.

더 읽어보기 ...

Mesos 슬랙 채널 는 굉장합니다! 특히 @jgarcia.mesosphere, @akaplan.mesosphere, @harpreet.mesosphere, @graham.mesosphere를 통해 Mesos에 대해 많은 것을 배웠습니다. 모두 감사드리며 앞으로도 커뮤니티에 계속 참여해주세요!

즐기세요!

이 문서 공유하기
받은 편지함에서 카우치베이스 블로그 업데이트 받기
이 필드는 필수 입력 사항입니다.

작성자

게시자 Arun Gupta, 개발자 지원 부문 부사장, Couchbase

아룬 굽타는 Couchbase의 개발자 지원 담당 부사장입니다. 그는 Sun, Oracle, Red Hat에서 10년 이상 개발자 커뮤니티를 구축하고 이끌었습니다. 그는 콘텐츠, 마케팅 캠페인 및 프로그램의 전략, 계획 및 실행을 개발 및 실행하는 교차 기능 팀을 이끄는 데 있어 깊은 전문성을 보유하고 있습니다. 그 전에는 Sun에서 엔지니어링 팀을 이끌었으며 Java EE 팀의 창립 멤버입니다. Gupta는 기술에 관한 블로그 게시물을 2,000개 이상 작성했습니다. 40여 개국에서 수많은 주제에 대해 광범위한 강연 경험을 가지고 있으며, 3년 연속 JavaOne Rock Star로 선정되었습니다. 또한 미국에서 Devoxx4Kids 지부를 설립하여 어린이를 대상으로 한 기술 교육을 지속적으로 장려하고 있습니다. 기술에 관한 여러 권의 책을 저술했으며, 열렬한 마라토너이자 지구를 횡단하는 사람, Java 챔피언, JUG 리더, NetBeans 드림팀 멤버, Docker 캡틴이기도 한 그는 @arungupta에서 쉽게 만나볼 수 있습니다.

댓글 남기기

카우치베이스 카펠라를 시작할 준비가 되셨나요?

구축 시작

개발자 포털에서 NoSQL을 살펴보고, 리소스를 찾아보고, 튜토리얼을 시작하세요.

카펠라 무료 사용

클릭 몇 번으로 Couchbase를 직접 체험해 보세요. Capella DBaaS는 가장 쉽고 빠르게 시작할 수 있는 방법입니다.

연락하기

카우치베이스 제품에 대해 자세히 알고 싶으신가요? 저희가 도와드리겠습니다.