Apache Mesos — это менеджер кластеров с открытым исходным кодом, разработанный в Калифорнийском университете в Беркли. Он обеспечивает изоляцию ресурсов и совместное использование в распределенных приложениях.
На рисунке показаны основные компоненты Mesos. Mesos состоит из главного демона, который управляет подчиненными демонами, работающими на каждом узле кластера. Среды Mesos — это приложения, которые работают на Mesos и выполняют задачи на этих подчиненных устройствах. Подчиненными являются физические или виртуальные машины, как правило, от одного поставщика.
В Mesos используется двухуровневый механизм планирования, при котором предложения ресурсов делаются для каркасов. Главный узел Mesos решает, сколько ресурсов предложить каждой платформе, в то время как каждая инфраструктура определяет ресурсы, которые он принимает, и какое приложение выполнять на этих ресурсах.
Marathon — это платформа оркестровки контейнеров, работающая на Mesos. Поддерживаются несколько форматов контейнеров , и Docker, безусловно, самый распространенный!
Этот блог покажет, как настроить Mesos, Marathon и запустить простой образ Docker. Эта установка только для храброго сердца. Мне всегда интересно заглядывать под капот и именно это мотивировало этот пост. Но будущий пост покажет более плавную установку.
Давайте начнем!
Настроить CentOS VM
Загрузите CentOS и настройте виртуальную машину, как показано на рисунке:
Установить компоненты
Установите различные компоненты, необходимые для этой настройки.
- Настройте репозиторий Mesos:
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
|
[arun@arun-centos ~]$ sudo rpm -Uvh http://repos.mesosphere.com/el/7/noarch/RPMS/mesosphere-el-repo-7-1.noarch.rpm We trust you have received the usual lecture from the local SystemAdministrator. It usually boils down to these three things: #1) Respect the privacy of others. #2) Think before you type. #3) With great power comes great responsibility. [sudo] password for arun:Retrieving http://repos.mesosphere.com/el/7/noarch/RPMS/mesosphere-el-repo-7-1.noarch.rpmwarning: /var/tmp/rpm-tmp.9ssCDQ: Header V4 RSA/SHA1 Signature, key ID e56151bf: NOKEYPreparing... ################################# [100%]Updating / installing... 1:mesosphere-el-repo-7-1 ################################# [100%] |
- Установите Месос и Марафон:
|
001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
019
020
021
022
023
024
025
026
027
028
029
030
031
032
033
034
035
036
037
038
039
040
041
042
043
044
045
046
047
048
049
050
051
052
053
054
055
056
057
058
059
060
061
062
063
064
065
066
067
068
069
070
071
072
073
074
075
076
077
078
079
080
081
082
083
084
085
086
087
088
089
090
091
092
093
094
095
096
097
098
099
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
|
[arun@arun-centos ~]$ sudo yum -y install mesos marathonLoaded plugins: fastestmirror, langpacksbase | 3.6 kB 00:00extras | 3.4 kB 00:00mesosphere | 2.9 kB 00:00mesosphere-noarch | 2.9 kB 00:00updates | 3.4 kB 00:00(1/6): base/7/x86_64/group_gz | 155 kB 00:00(2/6): extras/7/x86_64/primary_db | 117 kB 00:00(3/6): mesosphere-noarch/primary_db | 2.5 kB 00:00(4/6): mesosphere/x86_64/primary_db | 27 kB 00:00(5/6): base/7/x86_64/primary_db | 5.3 MB 00:01(6/6): updates/7/x86_64/primary_db | 4.1 MB 00:02Determining fastest mirrors * base: mirror.supremebytes.com * extras: centos.den.host-engine.com * updates: mirror.hmc.eduResolving Dependencies--> Running transaction check---> Package marathon.x86_64 0:1.1.1-1.0.472.el7 will be installed---> Package mesos.x86_64 0:0.28.1-2.0.20.centos701406 will be installed--> Processing Dependency: subversion for package: mesos-0.28.1-2.0.20.centos701406.x86_64--> Running transaction check---> Package subversion.x86_64 0:1.7.14-10.el7 will be installed--> Processing Dependency: subversion-libs(x86-64) = 1.7.14-10.el7 for package: subversion-1.7.14-10.el7.x86_64--> Processing Dependency: libsvn_wc-1.so.0()(64bit) for package: subversion-1.7.14-10.el7.x86_64--> Processing Dependency: libsvn_subr-1.so.0()(64bit) for package: subversion-1.7.14-10.el7.x86_64--> Processing Dependency: libsvn_repos-1.so.0()(64bit) for package: subversion-1.7.14-10.el7.x86_64--> Processing Dependency: libsvn_ra_svn-1.so.0()(64bit) for package: subversion-1.7.14-10.el7.x86_64--> Processing Dependency: libsvn_ra_neon-1.so.0()(64bit) for package: subversion-1.7.14-10.el7.x86_64--> Processing Dependency: libsvn_ra_local-1.so.0()(64bit) for package: subversion-1.7.14-10.el7.x86_64--> Processing Dependency: libsvn_ra-1.so.0()(64bit) for package: subversion-1.7.14-10.el7.x86_64--> Processing Dependency: libsvn_fs_util-1.so.0()(64bit) for package: subversion-1.7.14-10.el7.x86_64--> Processing Dependency: libsvn_fs_fs-1.so.0()(64bit) for package: subversion-1.7.14-10.el7.x86_64--> Processing Dependency: libsvn_fs_base-1.so.0()(64bit) for package: subversion-1.7.14-10.el7.x86_64--> Processing Dependency: libsvn_fs-1.so.0()(64bit) for package: subversion-1.7.14-10.el7.x86_64--> Processing Dependency: libsvn_diff-1.so.0()(64bit) for package: subversion-1.7.14-10.el7.x86_64--> Processing Dependency: libsvn_delta-1.so.0()(64bit) for package: subversion-1.7.14-10.el7.x86_64--> Processing Dependency: libsvn_client-1.so.0()(64bit) for package: subversion-1.7.14-10.el7.x86_64--> Processing Dependency: libaprutil-1.so.0()(64bit) for package: subversion-1.7.14-10.el7.x86_64--> Processing Dependency: libapr-1.so.0()(64bit) for package: subversion-1.7.14-10.el7.x86_64--> Running transaction check---> Package apr.x86_64 0:1.4.8-3.el7 will be installed---> Package apr-util.x86_64 0:1.5.2-6.el7 will be installed---> Package subversion-libs.x86_64 0:1.7.14-10.el7 will be installed--> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size================================================================================Installing: marathon x86_64 1.1.1-1.0.472.el7 mesosphere 64 M mesos x86_64 0.28.1-2.0.20.centos701406 mesosphere 30 MInstalling for dependencies: apr x86_64 1.4.8-3.el7 base 103 k apr-util x86_64 1.5.2-6.el7 base 92 k subversion x86_64 1.7.14-10.el7 base 1.0 M subversion-libs x86_64 1.7.14-10.el7 base 921 k Transaction Summary================================================================================Install 2 Packages (+4 Dependent packages) Total download size: 96 MInstalled size: 168 MDownloading packages:warning: /var/cache/yum/x86_64/7/base/packages/apr-1.4.8-3.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEYPublic key for apr-1.4.8-3.el7.x86_64.rpm is not installed(1/6): apr-1.4.8-3.el7.x86_64.rpm | 103 kB 00:00(2/6): apr-util-1.5.2-6.el7.x86_64.rpm | 92 kB 00:00(3/6): subversion-1.7.14-10.el7.x86_64.rpm | 1.0 MB 00:00(4/6): subversion-libs-1.7.14-10.el7.x86_64.rpm | 921 kB 00:00warning: /var/cache/yum/x86_64/7/mesosphere/packages/mesos-0.28.1-2.0.20.centos701406.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID e56151bf: NOKEYPublic key for mesos-0.28.1-2.0.20.centos701406.x86_64.rpm is not installed(5/6): mesos-0.28.1-2.0.20.centos701406.x86_64.rpm | 30 MB 00:29(6/6): marathon-1.1.1-1.0.472.el7.x86_64.rpm | 64 MB 00:36--------------------------------------------------------------------------------Total 2.6 MB/s | 96 MB 00:36Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7Importing GPG key 0xF4A80EB5: Userid : "CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>" Fingerprint: 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5 Package : centos-release-7-2.1511.el7.centos.2.10.x86_64 (@anaconda) From : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mesosphereImporting GPG key 0xE56151BF: Userid : "Mesosphere Archive Automatic Signing Key <support@mesosphere.io>" Fingerprint: 8102 6d00 04c4 4cf7 ef55 adf8 df7d 54cb e561 51bf Package : mesosphere-el-repo-7-1.noarch (installed) From : /etc/pki/rpm-gpg/RPM-GPG-KEY-mesosphereRunning transaction checkRunning transaction testTransaction test succeededRunning transaction Installing : apr-1.4.8-3.el7.x86_64 1/6 Installing : apr-util-1.5.2-6.el7.x86_64 2/6 Installing : subversion-libs-1.7.14-10.el7.x86_64 3/6 Installing : subversion-1.7.14-10.el7.x86_64 4/6 Installing : mesos-0.28.1-2.0.20.centos701406.x86_64 5/6Created symlink from /etc/systemd/system/multi-user.target.wants/mesos-master.service to /usr/lib/systemd/system/mesos-master.service.Created symlink from /etc/systemd/system/multi-user.target.wants/mesos-slave.service to /usr/lib/systemd/system/mesos-slave.service. Installing : marathon-1.1.1-1.0.472.el7.x86_64 6/6Created symlink from /etc/systemd/system/multi-user.target.wants/marathon.service to /usr/lib/systemd/system/marathon.service. Verifying : apr-1.4.8-3.el7.x86_64 1/6 Verifying : subversion-1.7.14-10.el7.x86_64 2/6 Verifying : apr-util-1.5.2-6.el7.x86_64 3/6 Verifying : mesos-0.28.1-2.0.20.centos701406.x86_64 4/6 Verifying : marathon-1.1.1-1.0.472.el7.x86_64 5/6 Verifying : subversion-libs-1.7.14-10.el7.x86_64 6/6 Installed: marathon.x86_64 0:1.1.1-1.0.472.el7 mesos.x86_64 0:0.28.1-2.0.20.centos701406 Dependency Installed: apr.x86_64 0:1.4.8-3.el7 apr-util.x86_64 0:1.5.2-6.el7 subversion.x86_64 0:1.7.14-10.el7 subversion-libs.x86_64 0:1.7.14-10.el7 Complete! |
- Установите ZooKeeper:
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
[arun@arun-centos ~]$ sudo yum -y install mesosphere-zookeeper[sudo] password for arun:Loaded plugins: fastestmirror, langpacksLoading mirror speeds from cached hostfile * base: mirror.supremebytes.com * extras: centos.den.host-engine.com * updates: mirror.hmc.eduResolving Dependencies--> Running transaction check---> Package mesosphere-zookeeper.x86_64 0:3.4.6-0.1.20141204175332.centos7 will be installed--> Finished Dependency Resolution Dependencies Resolved ================================================================================================== Package Arch Version Repository Size==================================================================================================Installing: mesosphere-zookeeper x86_64 3.4.6-0.1.20141204175332.centos7 mesosphere 2.8 M Transaction Summary==================================================================================================Install 1 Package Total download size: 2.8 MInstalled size: 3.5 MDownloading packages:mesosphere-zookeeper-3.4.6-0.1.20141204175332.centos7.x86_64.rpm | 2.8 MB 00:00:01Running transaction checkRunning transaction testTransaction test succeededRunning transaction Installing : mesosphere-zookeeper-3.4.6-0.1.20141204175332.centos7.x86_64 1/1Created symlink from /etc/systemd/system/multi-user.target.wants/zookeeper.service to /usr/lib/systemd/system/zookeeper.service. Verifying : mesosphere-zookeeper-3.4.6-0.1.20141204175332.centos7.x86_64 1/1 Installed: mesosphere-zookeeper.x86_64 0:3.4.6-0.1.20141204175332.centos7 Complete! |
- Добавить Docker репо:
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
|
[arun@arun-centos ~]$ sudo tee /etc/yum.repos.d/docker.repo <<-'EOF'[dockerrepo]name=Docker Repositorybaseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/enabled=1gpgcheck=1gpgkey=https://yum.dockerproject.org/gpgEOF[sudo] password for arun:[dockerrepo]name=Docker Repositorybaseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/enabled=1gpgcheck=1gpgkey=https://yum.dockerproject.org/gpg |
- Установите Docker:
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
[arun@localhost ~]$ sudo yum -y install docker-engineLoaded plugins: fastestmirror, langpacksLoading mirror speeds from cached hostfile * base: mirror.scalabledns.com * extras: linux.mirrors.es.net * updates: mirrors.adams.netResolving Dependencies--> Running transaction check---> Package docker-engine.x86_64 0:1.11.1-1.el7.centos will be installed--> Processing Dependency: docker-engine-selinux >= 1.11.1-1.el7.centos for package: docker-engine-1.11.1-1.el7.centos.x86_64--> Running transaction check---> Package docker-engine-selinux.noarch 0:1.11.1-1.el7.centos will be installed--> Finished Dependency Resolution Dependencies Resolved ==================================================================================================== Package Arch Version Repository Size====================================================================================================Installing: docker-engine x86_64 1.11.1-1.el7.centos dockerrepo 13 MInstalling for dependencies: docker-engine-selinux noarch 1.11.1-1.el7.centos dockerrepo 28 k Transaction Summary====================================================================================================Install 1 Package (+1 Dependent package) Total download size: 13 MInstalled size: 54 MDownloading packages:warning: /var/cache/yum/x86_64/7/dockerrepo/packages/docker-engine-selinux-1.11.1-1.el7.centos.noarch.rpm: Header V4 RSA/SHA512 Signature, key ID 2c52609d: NOKEYPublic key for docker-engine-selinux-1.11.1-1.el7.centos.noarch.rpm is not installed(1/2): docker-engine-selinux-1.11.1-1.el7.centos.noarch.rpm | 28 kB 00:00:00(2/2): docker-engine-1.11.1-1.el7.centos.x86_64.rpm | 13 MB 00:00:02----------------------------------------------------------------------------------------------------Total 5.3 MB/s | 13 MB 00:00:02Retrieving key from https://yum.dockerproject.org/gpgImporting GPG key 0x2C52609D: Userid : "Docker Release Tool (releasedocker) <docker@docker.com>" Fingerprint: 5811 8e89 f3a9 1289 7c07 0adb f762 2157 2c52 609d From : https://yum.dockerproject.org/gpgRunning transaction checkRunning transaction testTransaction test succeededRunning transaction Installing : docker-engine-selinux-1.11.1-1.el7.centos.noarch 1/2restorecon: lstat(/var/lib/docker) failed: No such file or directorywarning: %post(docker-engine-selinux-1.11.1-1.el7.centos.noarch) scriptlet failed, exit status 255Non-fatal POSTIN scriptlet failure in rpm package docker-engine-selinux-1.11.1-1.el7.centos.noarch Installing : docker-engine-1.11.1-1.el7.centos.x86_64 2/2 Verifying : docker-engine-1.11.1-1.el7.centos.x86_64 1/2 Verifying : docker-engine-selinux-1.11.1-1.el7.centos.noarch 2/2 Installed: docker-engine.x86_64 0:1.11.1-1.el7.centos Dependency Installed: docker-engine-selinux.noarch 0:1.11.1-1.el7.centos Complete! |
Настройка сопоставления имени хоста / IP-адреса
Отредактируйте /etc/hosts и создайте отображение имени хоста и IP-адреса. Найдите IP-адрес с помощью ifconfig и выберите сетевой интерфейс, включенный во время установки CentOS.
Начать Услуги
Запустите все сервисы
- Запустите Docker:
|
1
2
|
[arun@arun-centos ~]$ sudo service docker startRedirecting to /bin/systemctl start docker.service |
- Запустите ZooKeeper:
|
1
|
sudo systemctl start zookeeper |
- Запустите мастер Mesos:
|
1
2
|
[arun@arun-centos ~]$ sudo service mesos-master startRedirecting to /bin/systemctl start mesos-master.service |
- Сконфигурируйте
mesosиdockerконтейнеры:
|
1
|
sudo sh -c "echo 'docker,mesos' > /etc/mesos-slave/containerizers" |
- Запустить Месос раб:
|
1
2
|
[arun@arun-centos ~]$ sudo service mesos-slave startRedirecting to /bin/systemctl start mesos-slave.service |
- Начать марафон:
|
1
2
|
[arun@arun-centos ~]$ sudo service marathon startRedirecting to /bin/systemctl start marathon.service |
- Проверьте сервисы: Mesos UI: http://127.0.0.1:5050
Интерфейс марафона: http://127.0.0.1:8080
Журналы:tail -f /var/log/messages
|
01
02
03
04
05
06
07
08
09
10
|
[arun@arun-centos log]$ ps aux | grep mesoroot 4511 0.1 0.7 3974136 58968 ? Ssl 19:54 0:04 java -Dzookeeper.log.dir=. -Dzookeeper.root.logger=INFO,CONSOLE -cp /opt/mesosphere/zookeeper/bin/../build/classes:/opt/mesosphere/zookeeper/bin/../build/lib/*.jar:/opt/mesosphere/zookeeper/bin/../lib/slf4j-log4j12-1.6.1.jar:/opt/mesosphere/zookeeper/bin/../lib/slf4j-api-1.6.1.jar:/opt/mesosphere/zookeeper/bin/../lib/netty-3.7.0.Final.jar:/opt/mesosphere/zookeeper/bin/../lib/log4j-1.2.16.jar:/opt/mesosphere/zookeeper/bin/../lib/jline-0.9.94.jar:/opt/mesosphere/zookeeper/bin/../zookeeper-3.4.6.jar:/opt/mesosphere/zookeeper/bin/../src/java/lib/*.jar:/etc/zookeeper/conf: -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.local.only=false org.apache.zookeeper.server.quorum.QuorumPeerMain /etc/zookeeper/conf/zoo.cfgroot 15786 0.0 0.2 754788 19596 ? Ssl 20:43 0:00 /usr/sbin/mesos-slave --master=zk://localhost:2181/mesos --log_dir=/var/log/mesosroot 15792 0.0 0.0 107892 624 ? S 20:43 0:00 logger -p user.info -t mesos-slave[15786]root 15793 0.0 0.0 107892 700 ? S 20:43 0:00 logger -p user.err -t mesos-slave[15786]root 15837 1.9 3.0 2818056 239208 ? Ssl 20:43 0:10 java -Djava.library.path=/usr/local/lib:/usr/lib:/usr/lib64 -Djava.util.logging.SimpleFormatter.format=%2$s%5$s%6$s%n -Xmx512m -cp /usr/bin/marathon mesosphere.marathon.Main --zk zk://localhost:2181/marathon --master zk://localhost:2181/mesosroot 15838 0.0 0.2 829028 22908 ? Ssl 20:43 0:00 /usr/sbin/mesos-master --zk=zk://localhost:2181/mesos --port=5050 --log_dir=/var/log/mesos --quorum=1 --work_dir=/var/lib/mesosroot 15863 0.0 0.0 107892 620 ? S 20:43 0:00 logger -p user.info -t mesos-master[15838]root 15864 0.0 0.0 107892 696 ? S 20:43 0:00 logger -p user.err -t mesos-master[15838]arun 16931 0.0 0.0 112644 952 pts/0 R+ 20:52 0:00 grep --color=auto meso |
- Проверьте мастер Mesos:
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
|
[arun@arun-centos ~]$ systemctl status mesos-master● mesos-master.service - Mesos Master Loaded: loaded (/usr/lib/systemd/system/mesos-master.service; enabled; vendor preset: disabled) Active: active (running) since Wed 2016-05-04 19:42:24 EDT; 32min ago Main PID: 8499 (mesos-master) Memory: 14.6M CGroup: /system.slice/mesos-master.service ├─8499 /usr/sbin/mesos-master --zk=zk://localhost:2181/mesos --port=5050 --log_dir=/va... ├─8513 logger -p user.info -t mesos-master[8499] └─8514 logger -p user.err -t mesos-master[8499] May 04 20:14:41 arun-centos mesos-master[8514]: I0504 20:14:41.564679 8527 master.cpp:3104] Proc...May 04 20:14:41 arun-centos mesos-master[8514]: I0504 20:14:41.565058 8527 master.hpp:177] Ad...os)May 04 20:14:41 arun-centos mesos-master[8514]: I0504 20:14:41.565093 8527 master.cpp:3589] Laun...May 04 20:14:41 arun-centos mesos-master[8514]: I0504 20:14:41.577255 8527 master.cpp:4763] Stat...May 04 20:14:41 arun-centos mesos-master[8514]: I0504 20:14:41.577287 8527 master.cpp:4811] F...000May 04 20:14:41 arun-centos mesos-master[8514]: I0504 20:14:41.577325 8527 master.cpp:6421] U...ED)May 04 20:14:41 arun-centos mesos-master[8514]: I0504 20:14:41.587143 8527 master.cpp:3918] Proc...May 04 20:14:41 arun-centos mesos-master[8514]: I0504 20:14:41.587198 8527 master.cpp:6487] Remo...May 04 20:14:41 arun-centos mesos-master[8514]: I0504 20:14:41.726095 8527 master.cpp:5324] S...006May 04 20:14:41 arun-centos mesos-master[8514]: I0504 20:14:41.728080 8527 master.cpp:3641] P...006Hint: Some lines were ellipsized, use -l to show in full. |
- Проверьте Месос раб:
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
|
[arun@arun-centos ~]$ systemctl status mesos-slave● mesos-slave.service - Mesos Slave Loaded: loaded (/usr/lib/systemd/system/mesos-slave.service; enabled; vendor preset: disabled) Active: active (running) since Wed 2016-05-04 20:00:43 EDT; 12min ago Main PID: 9864 (mesos-slave) Memory: 57.5M CGroup: /system.slice/mesos-slave.service ├─9864 /usr/sbin/mesos-slave --master=zk://localhost:2181/mesos --log_dir=/var/log/mes... ├─9876 logger -p user.info -t mesos-slave[9864] └─9877 logger -p user.err -t mesos-slave[9864] May 04 20:13:26 arun-centos mesos-slave[9877]: I0504 20:13:26.283629 9887 status_update_manag...000May 04 20:13:26 arun-centos mesos-slave[9877]: I0504 20:13:26.289118 9887 slave.cpp:3990] Cle...000May 04 20:13:26 arun-centos mesos-slave[9877]: I0504 20:13:26.289422 9887 slave.cpp:4078] Cle...000May 04 20:13:26 arun-centos mesos-slave[9877]: I0504 20:13:26.289459 9887 gc.cpp:55] Scheduling ...May 04 20:13:26 arun-centos mesos-slave[9877]: I0504 20:13:26.289489 9887 gc.cpp:55] Scheduli...ureMay 04 20:13:26 arun-centos mesos-slave[9877]: I0504 20:13:26.289499 9887 gc.cpp:55] Scheduling ...May 04 20:13:26 arun-centos mesos-slave[9877]: I0504 20:13:26.289511 9887 gc.cpp:55] Scheduli...ureMay 04 20:13:26 arun-centos mesos-slave[9877]: I0504 20:13:26.289520 9887 gc.cpp:55] Scheduli...ureMay 04 20:13:26 arun-centos mesos-slave[9877]: I0504 20:13:26.289525 9887 gc.cpp:55] Scheduli...ureMay 04 20:13:26 arun-centos mesos-slave[9877]: I0504 20:13:26.289533 9887 status_update_manag...000Hint: Some lines were ellipsized, use -l to show in full. |
- Проверьте ZooKeeper:
|
01
02
03
04
05
06
07
08
09
10
11
12
13
|
[arun@arun-centos log]$ /opt/mesosphere/zookeeper/bin/zkCli.shConnecting to localhost:2181log4j:WARN No appenders could be found for logger (org.apache.zookeeper.ZooKeeper).log4j:WARN Please initialize the log4j system properly.log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.Welcome to ZooKeeper!JLine support is enabled WATCHER:: WatchedEvent state:SyncConnected type:None path:null[zk: localhost:2181(CONNECTED) 0] ls /mesos[json.info_0000000001, log_replicas] |
Развертывание приложения Docker в Mesos
Простое приложение на основе Docker определяется с помощью файла конфигурации. Марафон работает на порте 8080, поэтому обновленный файл конфигурации выглядит следующим образом:
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
|
{ "id": "basic-3", "cmd": "python3 -m http.server $PORT0", "cpus": 0.5, "mem": 32.0, "container": { "type": "DOCKER", "docker": { "image": "python:3", "forcePullImage": true, "network": "BRIDGE", "portMappings": [ { "containerPort": 0, "hostPort": 0 } ] } }} |
Разверните приложение как:
|
1
|
curl -X POST http://127.0.0.1:8080/v2/apps -d @app.json -H "Content-type: application/json" |
Приложению потребуется некоторое время, чтобы загрузить изображение и затем запустить контейнер. Эта настройка является слегка чувствительной, и несколько запусков приложения показали, что образ Docker не был успешно загружен все время. В этом случае образ Docker был загружен вручную с помощью docker pull python:3 и затем приложение могло быть успешно развернуто.
В нашем случае master и slave работают на одном компьютере, поэтому список образов Docker и запущенных контейнеров можно легко увидеть:
|
1
2
3
4
5
6
|
[arun@localhost ~]$ sudo docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEpython 3 67b5207e5d3b 8 days ago 671.1 MB[arun@localhost ~]$ sudo docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES2ee42b120537 python:3 "/bin/sh -c 'python3 " About an hour ago Up About an hour 0.0.0.0:31669->31669/tcp mesos-d03f6e61-063f-4cae-9c1b-3fc6d8384b3a-S0.b99d82f6-9bc1-4a6f-ae3b-53b7f5d06b95 |
Приложение доступно через порт 31669 и может быть просмотрено по адресу http://127.0.0.1:31669 как:
Пользовательский интерфейс Mesos ( http://127.0.0.1:5050 ) показывает:
Интерфейс марафона ( http://127.0.0.1:8080 ) показывает:
Как видите, это довольно сложная настройка. В будущем сообщении в блоге будет показано, как использовать DC / OS и настроить его более плавно.
Дальнейшее чтение …
Месос вялый канал — это круто ! В частности, я много узнал о Мезосе от @ jgarcia.mesosphere, @ akaplan.mesosphere, @ harpreet.mesosphere, @ graham.mesosphere. Спасибо, ребята, продолжайте общаться с сообществом!
Наслаждайтесь!
| Ссылка: | Контейнер Docker с использованием Apache Mesos и Marathon от нашего партнера по JCG Аруна Гупта из Miles to go 3.0… блог. |




