原创文章,欢迎转载。转载请注明:转载自IT人故事会,谢谢!
原文链接地址:『高级篇』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的版本。
咱们应该使用的是单独的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/bashcur_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/bashdocker 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/bashdocker 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/bashdocker 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镜像
docker pull mesosphere/marathon:v1.5.12
vi marathon
#!/bin/bashdocker 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/bashdocker 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集群里面哈哈!
作者:IT人故事会
链接:https://www.jianshu.com/p/cf0fd595b97f