Mesosphere Cluster on CentOS7 (zookeeper+mesos+marathon)

简介

mesosphere

mesos

marathon

zookeeper:

为master的mesos/marathon的配置文件,这保证master更轻量级。

大概为这几个概念,能找到这里的基本上都是知道他们是干啥的,这里不废话了。不懂的可自行脑补。



环境:

Hostname Function IP Address
master1 Mesos master 172.18.2.94
master2 Mesos master 172.18.2.95
master3 Mesos master 172.18.2.96
slave1 Mesos slave 172.18.2.97
slave2 Mesos slave 172.18.2.98
slave3 Mesos slave 172.18.2.99
slave4 Mesos slave
172.18.2.100

描述:

首先,master为3台机器,做zookeeper集群做配置管理(mesos/marathon/zookeeper),然后3个master节点做高可用、Marathon同理。

提前工作

①关掉selinux

setenforece 0 (配置文件自行修改)

②关掉firewalld

systemctl disable firewalld.service

③清空防火墙

iptables -F

Master Nodes Setup

Package Installation

这里为了简单起便,将使用yum来装,当然你可以自己编译,效果一样。其他的还有docker仓库直接装的,方法很多,看你环境吧。

Setup Repositories

rpm -Uvh http://repos.mesosphere.io/el/7/noarch/RPMS/mesosphere-el-repo-7-1.noarch.rpm

Install

yum -y install mesosphere-zookeeper
yum -y install mesos marathon

Configuration

ZooKeeper

①,先给每台机器zookeeper打标签:

echo 1 > /etc/zookeeper/conf/myid

注意:myid中的每台机器不同,对应下面配置文件中的server.$NUM

在/etc/zookeeper/conf/zoo.cfg配置文件中追加以下内容:

server.1=172.18.2.94:2888:3888
server.2=172.18.2.95:2888:3888
server.3=172.18.2.96:2888:3888

解释下这个后边的$IP,$PORT1,$PORT2

IP不解释
$PORT1 因为三台为高可用,肯定有个master,这个端口是master起的;
$PORT2 为他们互相检查、看谁当master检查用的。

然后就可以重启zookeeper服务了(端口为2181)

systemctl start zookeeper

Mesos

ZooKeeper

在每个节点上,需要配置zookeeper的地址,像这样写进/etc/mesos/zk

zk://172.18.2.94:2181,172.18.2.95:2181,172.18.2.96:2181/mesos
Quorum

我不确定这个是不是BUG,因为这个官方要求参数,3台master的情况下,这个配置应该为2的,但是当你设置成2的时候,3台master一直会去争抢leader,导致slave节点无法注册,所以这里我们将它搞为1

echo 1 > /etc/mesos-master/quorum
Hostname

这里说下,我们把主机名master$num 写进hosts解析里面,然后把各自的主机名写进这个文件中

echo $master > /etc/marathon/conf/hostname

然后mesos的配置这里就ok了,但是你得注意一点,把他自身的一些东西给处理下

systemctl stop mesos-slave.service
systemctl disable mesos-slave.service

然后重启mesos

systemctl restart mesos-slave.service

Marathon

首先,创建下他的配置文件的路径(yum装的没给我们创建)

mkdir -p /etc/marathon/conf
Hostname

把mesos的直接拷过来就好了

cp /etc/mesos-master/hostname /etc/marathon/conf
ZooKeeper

这里有2点:①配置marathon自己的zk,另外还需要连接mesos自己的,因为他要过去调度任务呀

cp /etc/mesos/zk /etc/marathon/conf/master
cp /etc/marathon/conf/master /etc/marathon/conf/zk
vim /etc/marathon/conf/zk 
内容:zk://172.18.2.94:2181,172.18.2.95:2181,172.18.2.96:2181/marathon

然后重启marathon

systemctl restart marathon.service

Master is ok !

mesos访问地址:

172.18.2.94:5050

marathon访问地址:

172.18.2.94:8080


Slave Node Setup

Package Installation

Setup Repositories

rpm -Uvh http://repos.mesosphere.io/el/7/noarch/RPMS/mesosphere-el-repo-7-1.noarch.rpm

Install from package

yum -y install mesos

Configuration

Mesos

首先要关掉master

systemctl stop mesos-master.service
systemctl disable mesos-master.service
ZooKeeper

配置zookeeper的地址,因为说过他们会向zookeeper注册,配置同master /etc/mesos/zk

zk://172.18.2.94:2181,172.18.2.95:2181,172.18.2.96:2181/mesos
Hostname

同理,这里为/etc/mesos-slave/hostname

Start Services

systemctl restart mesos-slave.service

然后,到mesos管理端,去查看slave的注册情况


Starting Services on Mesos and Marathon

这里不做复杂的演示,只做简单的。

WEB UI 

master1:5050

Starting a Service through the API

首先准备一个json文件(hello2.json)

{
    "id": "hello2",
    "cmd": "echo hello; sleep 10",
    "mem": 16,
    "cpus": 0.1,
    "instances": 1,
    "disk": 0.0,
    "ports": [0]
 }

然后调用api

curl -i -H ‘Content-Type: application/json‘ [email protected] master1:8080/v2/apps

就到这里吧,太久没写了,找不到感觉。

细节地方大家注意好就行

时间: 2024-10-11 16:13:45

Mesosphere Cluster on CentOS7 (zookeeper+mesos+marathon)的相关文章

一步一步搭建ZooKeeper + Mesos + Marathon平台管理Docker集群

最近在Youtube看Docker视频的过程中不幸看到了Mesos的介绍,然后就有一种一见如故的感觉,最终根据mesosphere官网的文档在IBM的Bluemix虚拟机上搭建了基于ZooKeeper + Mesos + Marathon的平台. 搭建之前先简单了解下各个组件是做什么的.(来自wikipedia及其他网络) ZooKeeper:Zookeeper 分布式服务框架是 Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务.

centos7 安装mesos+marathon+zookeeper (一)

1.地址规划 192.168.1.110  master1 192.168.1.111  master2 192.168.1.112  master3 192.168.1.115  salve1 192.168.1.116  salve2 Master节点: 1.关闭防火墙 systemctl stop firewalld && systemctl disable firewalld 2.关闭selinux setenforce 0 3.安装mesosphere源 rpm -ivh /me

Mesos + Marathon 安装与使用

简介 Mesos 是一个集群资源的自动调度平台,Apache 开源项目,它的定位是要做数据中心操作系统的内核.目前由 Mesosphere 公司维护,更多信息可以自行查阅 Mesos 项目地址或 Mesosphere. Marathon 是可以跟 Mesos 一起协作的一个 framework,用来运行持久性的应用. 安装 一共需要安装四种组件,mesos-master.marathon.zookeeper 需要安装到所有的主节点,mseos-slave 需要安装到从节点. mesos 利用 z

CentOS 7 安装Mesos+Marathon+Zookeeper集群

参考文章: http://www.xuliangwei.com/xubusi/422.html https://open.mesosphere.com/getting-started/install/#master-setup https://www.digitalocean.com/community/tutorials/how-to-configure-a-production-ready-mesosphere-cluster-on-ubuntu-14-04 安装环境: 3台server 1

Mesos&Marathon实现容器部署

mesos&marathon架构说明 Mesos实现了两级调度架构,它可以管理多种类型的应用程序.第一级调度是Master的守护进程,管理Mesos集群中所有节点上运行的Slave守护进程.集群由物理服务器或虚拟服务器组成,用于运行应用程序的任务,比如Hadoop和MPI作业.第二级调度由被称作Framework的"组件"组成.Framework包括调度器(Scheduler)和执行器(Executor)进程,其中每个节点上都会运行执行器.Mesos能和不同类型的Framewo

Mesos+Marathon docker 集群管理

前面我们了解了docker常见的操作和部署方法,在企业中,如果要大规模使用docker就不能通过纯手工的方式去维护和部署了.目前比较流行的有两种解决方案,一种是使用 Mesos+Marathon+docker的方式对集群中的容器进行管理,另一种方式是使用Kubernetes,就目前Kubernetes有引领行业的趋势,但是对于小型的集群管理,mesos符合传统主从架构,更加简单. Mesos介绍 Mesos容器管理的理念个人觉得类似于OpenStack, 通过master将整个集群的资源搜集起来

Docker云Paas平台部署:Docker+Mesos+Marathon

针对“互联网+”时代的业务增长.变化速度及大规模计算的需求,廉价的.高可扩展的分布式x86集群已成为标准解决方案,如Google已经在几千万台服务器上部署分布式系统.Docker及其相关技术的出现和发展,又给大规模集群管理带来了新的想象空间. 如何将二者进行有效地结合? 本人将以实验的角度来部署mesos + marathon的docker集群 一.谈谈mesos Mesos是Apache下的开源分布式资源管理框架,它被称为是分布式系统的内核.Mesos最初是由加州大学伯克利分校的AMPLab开

mesos+marathon管理docker集群

服务器架构 主机名 IP 安装服务 mesos-master 192.168.56.7 docker.mesos-master.mesos-slave.marathon.zookeeper mesos-slave 192.168.56.8 docker.mesos-slave.zookeeper 系统环境 # uname -r 3.10.0-229.el7.x86_64 # cat  /etc/redhat-release CentOS Linuxrelease 7.1.1503 (Core)

kubernetes 和 mesos + marathon的对比

Kubernetes概述 根据Kubernetes网站的说法,“Kubernetes是一个自动化,容器化应用程序部署扩展和管理的开放源代码系统.”Kubernetes由Google根据他们在生产中运行容器的经验使用称为Borg的内部集群管理系统(有时简称Omega). Kubernetes的体系结构依赖于这种经验,如下所示: 从上图可以看出,有一些与Kubernetes集群相关的组件.主节点将容器工作负载放置在工作节点.其他组件包括: etcd:该组件存储配置数据,可以通过简单的HTTP或JSO