使用Docker部署Mesos
来源:互联网 发布:mac 国家地理的图片 编辑:程序博客网 时间:2024/05/17 22:30
使用Docker部署Mesos
部署环境
- 宿主机: macOS Sierra 10.12.1
- VirtualBox: Version 5.1.8 r111374 (Qt5.5.1)
- Vagrant: 1.8.7
- Vagrant Box: CentOS/7
虚拟机启动环境
Vagrantfile内容如下:
$num_instances = 3$vm_gui = false$vm_memory = 1024$vm_cpus = 1$instance_name_prefix = "mesos"$vb_cpuexecutioncap = 100def vm_gui $vb_gui.nil? ? $vm_gui : $vb_guienddef vm_memory $vb_memory.nil? ? $vm_memory : $vb_memoryenddef vm_cpus $vb_cpus.nil? ? $vm_cpus : $vb_cpusendVagrant.configure("2") do |config| config.vm.box = "centos/7" (1..$num_instances).each do |i| config.vm.define vm_name = "%s-%02d" % [$instance_name_prefix, i] do |config| config.vm.hostname = vm_name config.vm.provider :virtualbox do |vb| vb.gui = vm_gui vb.memory = vm_memory vb.cpus = vm_cpus vb.customize ["modifyvm", :id, "--cpuexecutioncap", "#{$vb_cpuexecutioncap}"] end ip = "172.20.201.#{i+100}" config.vm.network :private_network, ip: ip # config.vm.synced_folder "./data", "/vagrant_data" end config.vm.provision "shell", inline: <<-SHELL # apt-get update curl -s https://get.docker.com/ | sudo sh SHELL endend
启动虚拟机
vagrant up
执行上述命令后,虚拟机在启动之后将自动安装最新版本Docker
ZooKeeper启动
只是为了测试,启单节点的ZooKeeper
docker run --name zookeeper \ --restart always \ -d \ -p 2181:2181 \ zookeeper
master安装
# 登录mesos-01:vagrant ssh mesos-01# 启动Dockersudo systemctl enable docker && systemctl restart docker
启动Master
docker run -d --net=host \ --name mesos_master \ -e MESOS_PORT=5050 \ -e MESOS_ZK=zk://172.20.201.101: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)/log/mesos:/var/log/mesos" \ -v "$(pwd)/tmp/mesos:/var/tmp/mesos" \ mesosphere/mesos-master:1.1.0-2.0.107.ubuntu1404 \ --ip=172.20.201.101 \ --advertise_ip=172.20.201.101
启动slave
docker run -d --net=host --privileged \ --name mesos_slave \ -e MESOS_PORT=5051 \ -e MESOS_MASTER=zk://172.20.201.101: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)/log/mesos:/var/log/mesos" \ -v "$(pwd)/tmp/mesos:/var/tmp/mesos" \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /sys/fs/cgroup:/cgroup \ -v /sys:/sys \ -v /usr/bin/docker:/usr/local/bin/docker \ mesosphere/mesos-slave:1.1.0-2.0.107.ubuntu1404 \ --ip=172.20.201.101 \ --launcher=posix
启动marathon
docker run -d --net=host --privileged \ --name mesos_marathon \ mesosphere/marathon:latest \ --master zk://172.20.201.101:2181/mesos \ --zk zk://172.20.201.101:2181/marathon \ --http_port 8080 \ --http_address 172.20.201.101
安装其他节点
docker run -d --net=host --privileged \ --name mesos_slave \ -e MESOS_PORT=5051 \ -e MESOS_MASTER=zk://172.20.201.101: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)/log/mesos:/var/log/mesos" \ -v "$(pwd)/tmp/mesos:/var/tmp/mesos" \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /sys/fs/cgroup:/cgroup \ -v /sys:/sys \ -v /usr/bin/docker:/usr/local/bin/docker \ mesosphere/mesos-slave:1.1.0-2.0.107.ubuntu1404 \ --ip=[其他节点IP] \ --launcher=posix
检查
安装完成后,打开地址http://172.20.201.101:5050,打开如下页面:
打开marathon地址http://172.20.201.101:8080,显示如下:
0 0
- 使用Docker部署Mesos
- 使用 Docker, 7 个命令部署一个 Mesos 集群
- Mesos, Marathon, Docker 平台部署记录
- 使用Mesos管理Docker集群(Mesos + Marathon + Chronos + Docker)
- 使用Mesos和Marathon管理Docker集群
- Docker系列之(二):使用Mesos管理Docker集群(Mesos + Marathon + Chronos + Docker)
- Docker系列之(二):使用Mesos管理Docker集群(Mesos + Marathon + Chronos + Docker)
- 7条命令在docker中部署Mesos集群
- mesos和Elasticsearch设计(Docker部署)(二)
- mesos和Elasticsearch设计(Docker部署)(三)
- mesos和Elasticsearch设计(Docker部署)(四)
- 【云星数据---mesos实战系列002】:mesos全分布式部署实战007--mesos集成docker方案
- Docker系列之(二):使用Mesos管理Docker集群
- 【云星数据---mesos实战系列002】:mesos全分布式部署实战004--docker全分布式部署准备
- 【云星数据---mesos实战系列002】:mesos全分布式部署实战005--docker-register部署准备
- 使用Docker部署Gitlab
- 使用Docker部署GitLab
- 使用docker部署gitlab
- 计算机视觉(opencv和卷积)
- java中级面试题总结(1)
- API 25 (Android 7.1.1 API) view.SurfaceView
- 开源集锦(三)GitHub开源控件(一)
- 一个简单的取就近的五分钟的整数倍的日期
- 使用Docker部署Mesos
- 【C语言】称硬币问题
- js随时判断网络状态
- java线程通信 生产者与消费者模式
- 文章标题
- 接管php 错误 异常
- 守望动图
- github实现本地仓库与远程仓库同步
- wpf之二:xaml详解