博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mesos入门(二)——简单环境搭建
阅读量:4224 次
发布时间:2019-05-26

本文共 2681 字,大约阅读时间需要 8 分钟。

上一篇文章我们了解了mesos解决的问题以及其大致的原理,这篇文章就开始实战搭建一个mesos实战环境

简介

具体地址+操作:

环境搭建我们采用vagrant来最大程度的模拟真实环境,采用ansible来进行分布式自动运维

环境组成:mesos+docker+marathon,目前暂时只是单master,单zookeeper,单slave,和单marathon,后续会加上HA模式的部署

大致组成

主要看一下Vagrantfile+主要的playbook的yml文件+inventory.cfg

Vagrantfile

Vagrant.configure("2") do |config|  config.vm.define "master" do |master|    master.vm.box = "CentOS7"    master.vm.network "private_network", ip: "192.168.50.4"    master.vm.provision :shell, inline: "echo 'root:root' | sudo chpasswd"    config.vm.provider "virtualbox" do |v|      v.memory = 2048      v.cpus = 4    end  end  config.vm.define "slave" do |slave|    slave.vm.box = "CentOS7"    slave.vm.network "private_network", ip: "192.168.50.5"    slave.vm.provision :shell, inline: "echo 'root:root' | sudo chpasswd"    config.vm.provider "virtualbox" do |v|      v.memory = 2048      v.cpus = 4    end  endend

我特意指定了虚拟机的cpu和内存大小,因为初始编译mesos时很慢而且编译中途抛了oom异常,其实2核+1024应该就够用了

inventory.cfg

[all]192.168.50.4192.168.50.5[master]192.168.50.4[slave]192.168.50.5

mesos.yml

---- hosts: all  remote_user: root  roles:    - install  tags: install_denpendencies- hosts: all  remote_user: root  vars:    software_path: /tmp    remote_dir: /tmp    test: false  roles:    - install_mesos  tags: install_mesos- hosts: slave  remote_user: root  roles:    - install_docker  tags: install_docker- hosts: master  remote_user: root  vars:    software_path: /tmp    remote_dir: /home  roles:    - install_zk  tags: install_zk- hosts: master  remote_user: root  vars:    software_path: /tmp    remote_dir: /home  roles:    - install_marathon  tags: install_marathon

我把步骤分的很细,避免一次失败全部重来

tips: 各个组件的下载和安装真的很耗时,我觉得可以做一个安装好了各个组件的镜像,这样可以节省大量时间

安装好后的运行

暂时直接进入虚拟机里执行命令,后续会用ansible的API进行自动化部署

  1. 启动zookeeper
ssh root@192.168.50.4# 你可以改成你的路径,但是如果你用我的,默认是这个路径/home/zookeeper-3.4.11/bin/zkServer.sh start
  1. 启动mesos master
ssh root@192.168.50.4mesos-master --hostname=192.168.50.4 --quorum=1 --zk=zk://192.168.50.4:2181/mesos --work_dir=/var/lib/mesos/master --advertise_ip=192.168.50.4&

建议一定加上–advertise_ip选项,因为不加可能你的防火墙会拦截

  1. 启动mesos slave
ssh root@192.168.50.5mesos-agent --hostname=192.168.50.5 --master=zk://192.168.50.4:2181/mesos --work_dir=/var/lib/mesos/agent --advertise_ip=192.168.50.5 --containerizers=docker,mesos &

此时你可以进入,你会看到mesos的web管理界面。

  1. 启动marathon
MESOS_NATIVE_JAVA_LIBRARY=/usr/local/lib/libmesos.so /home/marathon-1.5.0-96-gf84298d/bin/marathon --master zk://192.168.50.4:2181/mesos --zk zk://192.168.50.4:2181/marathon&

前面的环境变量是用来指定mesos的动态链接库的位置的,此时你可以进入来查看marathon的web管理界面

后续我将会用marathon部署一个我编写的用于测试的web服务,用docker,其实这个很简单,但是我碰到了一些问题,就是目前的文档中都是直接运行一个docker镜像,我在想有没有办法在mesos上从dockerfile开始build一个镜像并进行部署。

后续还会在此基础上进行HA模式的mesos搭建与应用的部署

转载地址:http://vigmi.baihongyu.com/

你可能感兴趣的文章
Union的一个知识点
查看>>
基类析构函数为虚函数的研究
查看>>
函数入栈出栈以及栈帧
查看>>
从RTTI谈C++的向下转型
查看>>
面试心得(BAT)
查看>>
Windows Server 2012 Web方式修改域用户密码-通过Remote Desktop Web实现
查看>>
华为USG5300 采用IKE安全策略方式建立IPSec隧道
查看>>
Centos7 nginx访问日志文件割接
查看>>
我是一条内存!
查看>>
OIM API Usage
查看>>
OIM实现OIM用户修改、OIM用户Disable流程审批
查看>>
UEFI与MBR区别
查看>>
Ubuntu每次开机后提示:检测到系统程序出现问题的解决方法
查看>>
CC2640 看门狗配置
查看>>
linnux外网不通,提示Destination Host Unreachable解决
查看>>
为strawberry perl安装PadWalker
查看>>
Notepad++的字体设置加Consolas和微软雅黑混合字体
查看>>
gdb 调试常用命令
查看>>
POJ 3125 (Queue)
查看>>
trees in a row
查看>>