Introduce Apache Mesos

67
Introduce Apache Mesos Made by Yongbok Kim (ruo91) # 001 Language: Korean 2015.09.0 4

Transcript of Introduce Apache Mesos

Page 1: Introduce Apache Mesos

Introduce Apache MesosMade by Yongbok Kim (ruo91)

# 001

Language: Ko-rean

2015.09.04

Page 2: Introduce Apache Mesos

목차

1. Apache Mesos 소개 1.1 Mesos Architec-ture 1.2 Mesos Auto Failover 1.3 Mesos 설치법

2. Mesos Framework 소개

# 002

Page 3: Introduce Apache Mesos

1. Apache Mesos 소개 # 003

UC Berkeley 에서 Nexus 라는 이름으로 개발이 진행되던 프로젝트 .이를 Mesos 라는 이름으로 Apache 재단에 오픈소스로 발표 .

Cloud Infrastructure 및 Computing Engine 들의 자원을통합적으로 관리 할 수 있도록 만든 자원관리 프로젝트 .

Mesos 를 활용하는 기업으로는Twitter, Facebook, eBay, Riot Games, Samsung 이 있음 .

Samsung 의 경우 IoT 를 위한 활용 기사를 발표 .Link: https://blog.samsungsami.io/data/architecture/2015/07/13/containers-for-iot-scale-workloads-part-2.html

Page 4: Introduce Apache Mesos

1.1 Mesos Architecture # 004

Mesos 는

Page 5: Introduce Apache Mesos

1.1 Mesos Architecture # 005

Mesos 는 Master,

Page 6: Introduce Apache Mesos

1.1 Mesos Architecture # 006

Mesos 는 Master, Slave,

Page 7: Introduce Apache Mesos

1.1 Mesos Architecture # 007

Mesos 는 Master, Slave, Framework

Page 8: Introduce Apache Mesos

1.1 Mesos Architecture # 008

Mesos 는 Master, Slave, Framework 3 가지로 나눌 수 있으며 ,

Page 9: Introduce Apache Mesos

1.1 Mesos Architecture # 009

Mesos 는 Master, Slave, Framework 3 가지로 나눌 수 있으며 ,

원리를 설명 하자면 아래와 같습니다 .

Page 10: Introduce Apache Mesos

1.1 Mesos Architecture # 010

Mesos 는 Master, Slave, Framework 3 가지로 나눌 수 있으며 ,

원리를 설명 하자면 아래와 같습니다 .1. Slave 자신의 자원을 Master 서버에게 알림 .

Page 11: Introduce Apache Mesos

1.1 Mesos Architecture # 011

Mesos 는 Master, Slave, Framework 3 가지로 나눌 수 있으며 ,

원리를 설명 하자면 아래와 같습니다 .1. Slave 자신의 자원을 Master 서버에게 알림 .2. Master 서버는 Slave 자원 정보를 Framework 에 알림 .

Page 12: Introduce Apache Mesos

1.1 Mesos Architecture # 012

Mesos 는 Master, Slave, Framework 3 가지로 나눌 수 있으며 ,

원리를 설명 하자면 아래와 같습니다 .1. Slave 자신의 자원을 Master 서버에게 알림 .2. Master 서버는 Slave 자원 정보를 Framework 에 알림 .3. Framework 에서 Job 1 을 수행토록 지시 .

Page 13: Introduce Apache Mesos

1.1 Mesos Architecture # 013

Mesos 는 Master, Slave, Framework 3 가지로 나눌 수 있으며 ,

원리를 설명 하자면 아래와 같습니다 .1. Slave 자신의 자원을 Master 서버에게 알림 .2. Master 서버는 Slave 자원 정보를 Framework 에 알림 .3. Framework 에서 Job 1 을 수행토록 지시 .4. Master 서버는 Job 1 을 Slave 서버에 전송 .

Page 14: Introduce Apache Mesos

1.1 Mesos Architecture # 014

Mesos 는 Master, Slave, Framework 3 가지로 나눌 수 있으며 ,

원리를 설명 하자면 아래와 같습니다 .1. Slave 자신의 자원을 Master 서버에게 알림 .2. Master 서버는 Slave 자원 정보를 Framework 에 알림 .3. Framework 에서 Job 1 을 수행토록 지시 .4. Master 서버는 Job 1 을 Slave 서버에 전송 .5. Slave 서버는 해당 작업을 수행 .

Page 15: Introduce Apache Mesos

1.1 Mesos Architecture # 015

간단하게 정리 해보자면 ?

Page 16: Introduce Apache Mesos

1.1 Mesos Architecture # 016

간단하게 정리 해보자면 ?

Framework : 갑

Page 17: Introduce Apache Mesos

1.1 Mesos Architecture # 017

간단하게 정리 해보자면 ?

Framework : 갑Master : 을

Page 18: Introduce Apache Mesos

1.1 Mesos Architecture # 018

간단하게 정리 해보자면 ?

Framework : 갑Master : 을Slave : 병

Page 19: Introduce Apache Mesos

1.1 Mesos Architecture # 019

간단하게 정리 해보자면 ?

Framework : 갑Master : 을Slave : 병

Page 20: Introduce Apache Mesos

1.1 Mesos Architecture # 020

간단하게 정리 해보자면 ?

Framework : 갑Master : 을Slave : 병

닉값 하네요 ..

Page 21: Introduce Apache Mesos

1.1 Mesos Architecture # 021

이제 아키텍처를

살펴 봅시다 .

Page 22: Introduce Apache Mesos

1.1 Mesos Architecture # 022

Leader

Master

Page 23: Introduce Apache Mesos

1.1 Mesos Architecture # 023

Leader

ZK

Master

Page 24: Introduce Apache Mesos

1.1 Mesos Architecture # 024

Leader

Standby

ZK

Master

Master

Page 25: Introduce Apache Mesos

1.1 Mesos Architecture # 025

Leader

StandbyZK

ZK

Master

Master

Page 26: Introduce Apache Mesos

1.1 Mesos Architecture # 026

Standby

Leader

StandbyZK

ZK

Master

MasterMaster

Page 27: Introduce Apache Mesos

1.1 Mesos Architecture # 027

Standby

Leader

StandbyZK ZK

ZK

Master

MasterMaster

Page 28: Introduce Apache Mesos

1.1 Mesos Architecture # 028

Standby

Leader

StandbyZK ZK

ZK

Master

MasterMaster

Quo-rum

Page 29: Introduce Apache Mesos

1.1 Mesos Architecture # 029

Standby

Leader

StandbyZK ZK

ZK

Master

MasterMaster

Executor

Slave

Quo-rum

Page 30: Introduce Apache Mesos

1.1 Mesos Architecture # 030

Standby

Leader

StandbyZK ZK

ZK

Master

MasterMaster

Executor

Slave

Executor

Slave

Quo-rum

Page 31: Introduce Apache Mesos

1.1 Mesos Architecture # 031

Standby

Leader

StandbyZK ZK

ZK

Master

MasterMaster

Executor

Slave

Executor

Slave

Quo-rum

S1, 2CPU, 1Gb

Page 32: Introduce Apache Mesos

1.1 Mesos Architecture # 032

Standby

Leader

StandbyZK ZK

ZK

Master

MasterMaster

Executor

Slave

Executor

Slave

Quo-rum

S1, 2CPU, 1Gb

Page 33: Introduce Apache Mesos

1.1 Mesos Architecture # 033

Standby

Leader

StandbyZK ZK

ZK

Master

MasterMaster

Executor

Slave

Executor

Slave

Quo-rum

S1, 2CPU, 1Gb

S1, 4CPU, 4Gb

Page 34: Introduce Apache Mesos

1.1 Mesos Architecture # 034

Standby

Leader

StandbyZK ZK

ZK

Master

MasterMaster

Executor

Slave

Executor

Slave

Quo-rum

S1, 2CPU, 1Gb

S1, 4CPU, 4Gb

Page 35: Introduce Apache Mesos

1.1 Mesos Architecture # 035

Standby

Leader

StandbyZK ZK

ZK

Master

MasterMaster

Executor

Slave

Executor

Slave

Scheduler

Framework A

Scheduler

Framework B

Scheduler

Framework C

Quo-rum

S1, 2CPU, 1Gb

S1, 4CPU, 4Gb

Page 36: Introduce Apache Mesos

1.1 Mesos Architecture # 036

Standby

Leader

StandbyZK ZK

ZK

Master

MasterMaster

Executor

Slave

Executor

Slave

Scheduler

Framework A

Scheduler

Framework B

Scheduler

Framework C

Job 1

Quo-rum

S1, 2CPU, 1Gb

S1, 4CPU, 4Gb

Page 37: Introduce Apache Mesos

1.1 Mesos Architecture # 037

Standby

Leader

StandbyZK ZK

ZK

Master

MasterMaster

Executor

Slave

Executor

Slave

Scheduler

Framework A

Scheduler

Framework B

Scheduler

Framework C

Job 1

Job 2Quo-rum

S1, 2CPU, 1Gb

S1, 4CPU, 4Gb

Page 38: Introduce Apache Mesos

1.1 Mesos Architecture # 038

Standby

Leader

StandbyZK ZK

ZK

Master

MasterMaster

Executor

Slave

Executor

Slave

Scheduler

Framework A

Scheduler

Framework B

Scheduler

Framework C

Job 1

Job 2Quo-rum

S1, 2CPU, 1Gb

S1, 4CPU, 4Gb

Page 39: Introduce Apache Mesos

1.1 Mesos Architecture # 039

Standby

Leader

StandbyZK ZK

ZK

Master

MasterMaster

Executor

Slave

Executor

Slave

Scheduler

Framework A

Scheduler

Framework B

Scheduler

Framework C

Job 1

Job 2

Job 3

Quo-rum

S1, 2CPU, 1Gb

S1, 4CPU, 4Gb

Page 40: Introduce Apache Mesos

1.1 Mesos Architecture # 040

Standby

Leader

StandbyZK ZK

ZK

Master

MasterMaster

Executor

Slave

Executor

Slave

Scheduler

Framework A

Scheduler

Framework B

Scheduler

Framework C

Job 1

Job 2

Job 3

Quo-rum

S1, 2CPU, 1Gb

S1, 4CPU, 4Gb

Page 41: Introduce Apache Mesos

1.1 Mesos Architecture # 041

Standby

Leader

StandbyZK ZK

ZK

Master

MasterMaster

Executor

Slave

Executor

Slave

Scheduler

Framework A

Scheduler

Framework B

Scheduler

Framework C

Job 1

Job 2

Job 3

Quo-rum

S1, 2CPU, 1Gb

S1, 4CPU, 4Gb

Page 42: Introduce Apache Mesos

1.1 Mesos Architecture # 042

Standby

Leader

StandbyZK ZK

ZK

Master

MasterMaster

Task

Executor

Slave

Executor

Slave

Scheduler

Framework A

Scheduler

Framework B

Scheduler

Framework C

Job 1

Job 2

Job 3

Quo-rum

S1, 2CPU, 1Gb

S1, 4CPU, 4Gb

Job 1

Page 43: Introduce Apache Mesos

1.1 Mesos Architecture # 043

Standby

Leader

StandbyZK ZK

ZK

Master

MasterMaster

Task

Executor

Slave

Executor

Slave

Scheduler

Framework A

Scheduler

Framework B

Scheduler

Framework C

Job 1

Job 2

Job 3

Quo-rum

S1, 2CPU, 1Gb

S1, 4CPU, 4Gb

Job 1

Page 44: Introduce Apache Mesos

1.1 Mesos Architecture # 044

Standby

Leader

StandbyZK ZK

ZK

Master

MasterMaster

Task

Executor

Slave

TaskTask

Executor

Slave

Scheduler

Framework A

Scheduler

Framework B

Scheduler

Framework C

Job 1

Job 2

Job 3

Quo-rum

S1, 2CPU, 1Gb

S1, 4CPU, 4Gb

Job 1

Job 2, 3

Page 45: Introduce Apache Mesos

1.2 Mesos Auto Failover # 045

Page 46: Introduce Apache Mesos

1.2 Mesos Auto Failover # 046

Live 서버가

Page 47: Introduce Apache Mesos

1.2 Mesos Auto Failover # 047

Live 서버가

운영 중에

Page 48: Introduce Apache Mesos

1.2 Mesos Auto Failover # 048

Live 서버가

운영 중에

장애가 발생하면

Page 49: Introduce Apache Mesos

1.2 Mesos Auto Failover # 049

Live 서버가

운영 중에

장애가 발생하면

어떻게 되나요 ?

Page 50: Introduce Apache Mesos

1.2 Mesos Auto Failover # 050

ZooKeeper 가

Page 51: Introduce Apache Mesos

1.2 Mesos Auto Failover # 051

ZooKeeper 가

Standby 서버 중

Page 52: Introduce Apache Mesos

1.2 Mesos Auto Failover # 052

ZooKeeper 가

Standby 서버 중

하나를 Leader 로 변경하며 ,

Page 53: Introduce Apache Mesos

1.2 Mesos Auto Failover # 053

ZooKeeper 가

Standby 서버 중

하나를 Leader 로 변경하며 ,

복구 된 서버는 Standby 로 변경 됩니다 .

Page 54: Introduce Apache Mesos

1.2 Mesos Auto Failover # 054

Standby

Leader

StandbyZK ZK

ZK

Master

MasterMaster

Task

Executor

Slave

TaskTask

Executor

Slave

Scheduler

Framework A

Scheduler

Framework B

Scheduler

Framework C

Job 1

Job 2

Job 3

Quo-rum

S1, 2CPU, 1Gb

S1, 4CPU, 4Gb

Job 1

Job 2, 3

Page 55: Introduce Apache Mesos

1.2 Mesos Auto Failover # 055

Standby

Leader

StandbyZK ZK

ZK

Master

MasterMaster

Task

Executor

Slave

TaskTask

Executor

Slave

Scheduler

Framework A

Scheduler

Framework B

Scheduler

Framework C

Job 1

Job 2

Job 3

Quo-rum

S1, 2CPU, 1Gb

S1, 4CPU, 4Gb

Page 56: Introduce Apache Mesos

1.2 Mesos Auto Failover # 056

Standby

Leader

LeaderZK ZK

ZK

Master

MasterMaster

Task

Executor

Slave

TaskTask

Executor

Slave

Scheduler

Framework A

Scheduler

Framework B

Scheduler

Framework C

Job 1

Job 2

Job 3

Quo-rum

S1, 2CPU, 1Gb

S1, 4CPU, 4Gb

Job 1

Job 2, 3

Page 57: Introduce Apache Mesos

1.2 Mesos Auto Failover # 057

Standby

Standby

LeaderZK ZK

ZK

Master

MasterMaster

Task

Executor

Slave

TaskTask

Executor

Slave

Scheduler

Framework A

Scheduler

Framework B

Scheduler

Framework C

Job 1

Job 2

Job 3

Quo-rum

S1, 2CPU, 1Gb

S1, 4CPU, 4Gb

Job 1

Job 2, 3

Page 58: Introduce Apache Mesos

1.3 Mesos 설치법 # 058

설치 방법은 두 가지 소스 컴파일과 패키지 설치가 있습니다 .

사실 , 슬라이드에 설치법을 적는 것은 좀 아니라 생각 됩니다 .( 귀찮아서가 아닙니다 ..-_-;;)

- 패키지 설치Link: http://mesos.apache.org/gettingstarted/

- 소스 컴파일Link: https://www.yongbok.net/blog/apache-mesos-cluster-resource-management/

Page 59: Introduce Apache Mesos

2. Mesos Framework 소개 # 059

Mesos Framework 는

Page 60: Introduce Apache Mesos

2. Mesos Framework 소개 # 060

Mesos Framework 는

Mesos Cluster 에서

Page 61: Introduce Apache Mesos

2. Mesos Framework 소개 # 061

Mesos Framework 는

Mesos Cluster 에서

Slave 를

Page 62: Introduce Apache Mesos

2. Mesos Framework 소개 # 062

Mesos Framework 는

Mesos Cluster 에서

Slave 를

부려먹기 위한 것이다 !

Page 63: Introduce Apache Mesos

2. Mesos Framework 소개 # 063

Mesos Framework 의 종류는 많습니다 .

Page 64: Introduce Apache Mesos

2. Mesos Framework 소개 # 064

Mesos Framework 의 종류는 많습니다 .

잘 알려진 것들로는

Page 65: Introduce Apache Mesos

2. Mesos Framework 소개 # 065

Mesos Framework 의 종류는 많습니다 .

잘 알려진 것들로는Chronos, Marathon 정도가 되겠습니다 .

Page 66: Introduce Apache Mesos

2. Mesos Framework 소개 # 066

Mesos Framework 의 종류는 많습니다 .

잘 알려진 것들로는Chronos, Marathon 정도가 되겠습니다 .

자세한 것은 아래 링크를 통해 살펴보세요 .Link: http://mesos.apache.org/documentation/latest/mesos-frameworks/

Page 67: Introduce Apache Mesos

# 067

Thank you!