『高级篇』docker之Mesos集群环境搭建(24)

这次开始动手操作,首先是Mesos的安装,怎么来安装Mesos。源码:https://github.com/limingios/msA-docker/mac https://github.com/limingios/msA-docker/vagrant/Mesos

官网

http://mesos.apache.org/ 本身的安装是c++的,还需要c++进行编译才可以,所以安装感觉比较麻烦,对于安装麻烦的,首选想到的是什么老铁,去dockerhub里面看看,有没有docker的版本。

https://hub.docker.com/u/mesosphere/

咱们应该使用的是单独的master 和单独的slave

下载镜像

  • 拉取镜像

server01和server03

docker pull mesosphere/mesos-slave:1.7.0

server02

docker pull mesosphere/mesos-master:1.7.0
  • hosts 创建zookeeper

zookeeper 启动

#!/bin/bash
cur_dir=`pwd`
docker stop zookeeper
docker rm zookeeper
docker run --name zookeeper  --restart always -p 2181:2181  -d zookeeper:3.5
  • server02 创建mesos-master
vi mesos.sh
#!/bin/bash
docker run -d --net=host \
  --hostname=192.168.66.102 \
  -e MESOS_PORT=5050 \
  -e MESOS_ZK=zk://192.168.100.139:2181/mesos \
  -e MESOS_QUORUM=1 \
  -e MESOS_REGISTRY=in_memory \
  -e MESOS_LOG_DIR=/var/log/mesos \
  -e MESOS_WORK_DIR=/var/tmp/mesos \
  -v "$(pwd)/mesos/log/mesos:/var/log/mesos" \
  -v "$(pwd)/mesos/tmp/mesos:/var/tmp/mesos" \
  mesosphere/mesos-master:1.7.0 --no-hostname_lookup --ip=192.168.66.102
sh mesos.sh

mesos-master 已经连接到了主机zookeeper。 测试连接地址:http://192.168.66.102:5050

Frameworks 未关联,目前还不显示。

Agents 下面的slave的展示

  • server01

slave容器的创建

vi mesos-slave.sh
#!/bin/bash
docker run -d --net=host --privileged \
  --hostname=192.168.66.101 \
  -e MESOS_PORT=5051 \
  -e MESOS_MASTER=zk://192.168.100.139:2181/mesos \
  -e MESOS_SWITCH_USER=0 \
  -e MESOS_CONTAINERIZERS=docker,mesos \
  -e MESOS_LOG_DIR=/var/log/mesos \
  -e MESOS_WORK_DIR=/var/tmp/mesos \
  -v "$(pwd)/mesos/log/mesos:/var/log/mesos" \
  -v "$(pwd)/mesos/tmp/mesos:/var/tmp/mesos" \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v /sys:/sys \
  -v /usr/bin/docker:/usr/local/bin/docker \
  mesosphere/mesos-slave:1.7.0 --no-systemd_enable_support \
  --no-hostname_lookup --ip=192.168.66.101
sh mesos.sh
  • server03

slave容器的创建

vi mesos-slave.sh
#!/bin/bash
docker run -d --net=host --privileged \
  --hostname=192.168.66.103 \
  -e MESOS_PORT=5051 \
  -e MESOS_MASTER=zk://192.168.100.139:2181/mesos \
  -e MESOS_SWITCH_USER=0 \
  -e MESOS_CONTAINERIZERS=docker,mesos \
  -e MESOS_LOG_DIR=/var/log/mesos \
  -e MESOS_WORK_DIR=/var/tmp/mesos \
  -v "$(pwd)/mesos/log/mesos:/var/log/mesos" \
  -v "$(pwd)/mesos/tmp/mesos:/var/tmp/mesos" \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v /sys:/sys \
  -v /usr/bin/docker:/usr/local/bin/docker \
  mesosphere/mesos-slave:1.7.0 --no-systemd_enable_support \
  --no-hostname_lookup --ip=192.168.66.103
  • server02 安装marathon镜像

https://hub.docker.com/r/mesosphere/marathon, 根据架构图来

docker pull mesosphere/marathon:v1.5.12
vi marathon
#!/bin/bash
docker run -d --net=host \
  mesosphere/marathon:v1.5.2 \
  --master zk://192.168.100.139:2181/mesos \
  --zk zk://192.168.100.139:2181/marathon

网址:http://192.168.66.102:8080

这个是base路径的问题,不影响。

  • Host安装 marathon-lb

拉取镜像

docker pull mesosphere/marathon-lb:v1.12.3

新建立一个shell 文件

#!/bin/bash
docker stop marathon-lb
docker rm marathon-lb
docker run -d -p 9090:9090 \
  -e PORTS=9090 \
  mesosphere/marathon-lb:v1.12.3 sse \
  --group external \
  --marathon http://192.168.66.102:8080

marathon-lb 访问地址:http://localhost:9090/haproxy?stats

marathon 功能

  • 新建application
while [ true ];do sleep 5;echo 'hello idig8.com';done
  • 自动执行
  • 查看mesos 和 Marathon的对比

在mesos的Framework里面可以看到Marathon的Framework

PS: 所有的服务已经搭建,完毕,下一步就把之前写的6个微服务部署到我们的Mesos集群里面哈哈!

原文发布于微信公众号 - 编程坑太多(idig88)

原文发表时间:2018-10-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏ShaoYL

程序启动的完整过程

471150
来自专栏iOS开发随笔

Unity项目嵌入现有iOS项目的方法

33970
来自专栏娱乐心理测试

iOS 如何把图片资源打包成bundle文件及遇到的坑(详解)

(1.)"Base SDK" 设置为 "Latest iOS (iOS 11.2)" (Xcode 9.2为例)

39020
来自专栏DannyHoo的专栏

iOS开发中利用AFNetworking下载大文件以及下载文件的删除

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/...

99020
来自专栏娱乐心理测试

iOS AppDelegate方法,监听进程在后台、被杀死事件

监听进程被杀死时,会发现, 程序处于前台被杀死时会调用applicationWillTerminate:方法,程序处于后台时,并不会调用,需要实现如下代码:

46020
来自专栏xx_Cc的学习总结专栏

iOS-控制器View的创建和生命周期

36560
来自专栏iOS开发攻城狮的集散地

Url Scheme实现APP间通信、分享

接下来就以我之前写的UIActivityViewController系统原生分享-仿简书分享和iOS开源小项目-WSL两个Demo为例,让我们看下怎么可以让UI...

28780
来自专栏一“技”之长

Swift学习第二练——Swift项目时光电影

    很早以前的一个OC的练习项目,用swift重新写了一遍,因为xcode版本的更新对swift的兼容度也在不断改变,此版本适用于xcode6.1。

10450
来自专栏移动端周边技术扩展

IComMediator模块化解耦

177120
来自专栏進无尽的文章

基础篇-UIApplication、UIWindow以及程序的启动流程看我就够了

这篇文章主要介绍下有关UIApplication、UIWindow以及程序的启动流程,通过这篇文章,相信你会更加理解iOS 的应用启动过程以及app应用级别的相...

13220

扫码关注云+社区

领取腾讯云代金券