如何使用Zookeeper+Mesos+Marathon搭建Docker集群管理平

Apache Mesos 是一款基于多资源(内存、CPU、磁盘、端口等)调度的开源集群管理套件,能使容错和分布式系统更加容易使用。其采用了Master/Slave结构来简化设计,将Master做的尽可能轻量级,仅保存了各种计算框架(Framwork)和Mesos Slave的状态信息,这些状态很容易在Mesos出现故障时被重构,所以使用zookeeper解决master单点故障问题。

Mesos工作原理

Mesos Master充当全局资源调度器角色,采用某种策略算法将某个Save
上的空闲资源分配给某个Famework,而各种Framework则是通过自己的调度器向master注册进行接入,master slave则是收集任务状态和启动各个Framework的Executor。其架构图如下:

如何使用Zookeeper+Mesos+Marathon搭建Docker集群管理平台

基本术语:

Zookeeper概述

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。其中Master 选举可以说是 ZooKeeper 最典型的应用场景了。生产环境中Zookeeper是以宕机个数过半来让整个集群宕机的,所以master至少三个节点。

Marathon

Marathon是一个Mesos框架,能够支持运行长服务,比如web应用等。是集群的分布式Init.d,能够原样运行任何Linux二进制发布版本,如Tomcat Play等等,可以集群的多进程管理。也是一种私有的Pass,实现服务的发现,为部署提供提供REST API服务,有授权和SSL、配置约束,通过HAProxy实现服务发现和负载平衡。

配置搭建docker集群管理平台

版本内核需要3.10以上

cat /etc/RedHat-release //查看Linux版本 uname -r //查看内核版本(需要内核3.10以上)

如何使用Zookeeper+Mesos+Marathon搭建Docker集群管理平台


环境如下所示:

主机IP地址安装软件包
master   192.168.26.150   jdk-8u91-linux-x64.tar.gz/mesos-0.25.0.tar.gz/zookeeper-3.4.10.tar.gz/ marathon-0.15.2.tgz  
master1   192.168.26.139   jdk-8u91-linux-x64.tar.gz/ mesos-0.25.0.tar.gz /zookeeper-3.4.10.tar.gz  
master2   192.168.26.140   jdk-8u91-linux-x64.tar.gz/mesos-0.25.0.tar.gz/zookeeper-3.4.10.tar.gz  
slave   192.168.26.141   jdk-8u91-linux-x64.tar.gz/mesos-0.25.0.tar.gz/docker  
slave1   192.168.26.142   jdk-8u91-linux-x64.tar.gz/mesos-0.25.0.tar.gz/docker  

步骤如下所示:

一、安装Mesos

关闭所有主机的防火墙和安全性策略

systemctl stop firewalld.service systemctl disable firewalld.service setenforce 0 1.配置JAVA环境 tar zxvf jdk-8u91-linux-x64.tar.gz -C /usr/local/ cd /usr/local mv jdk1.8.0_91/ java vim /etc/profile export JAVA_HOME=/usr/local/java export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jar source /etc/profile 2.安装相关环境

(1)安装开发工具

yum groupinstall -y "Development Tools"

(2)添加apache-maven源
为Mesos提供项目管理和构建自动化工具的支持

wget Fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo

(3)安装相关依赖包

yum install -y apache-maven Python-devel zlib-devel libcurl-devel openssl-devel cyrus-sasl-devel cyrus-sasl-md5 apr-devel apr-util-devel subversion-devel

(4)配置WANdiscoSVN网络源

vim /etc/yum.repos.d/wandisco-svn.repo [WANdiscoSVN] name=WANdisco SVN Repo 1.9 enabled=1 baseurl=http://opensource.wandisco.com/CentOS/7/svn-1.9/RPMS/$basearch/ gpgcheck=1 gpgkey=http://opensource.wandisco.com/RPM-GPG-KEY-WANdisco 3.配置Mesos环境变量 vim /etc/profile export MESOS_NATIVE_JAVA_LIBRARY=/usr/local/lib/libmesos.so export MESOS_NATIVE_LIBRARY=/usr/local/lib/libmesos.so source /etc/profile 4.构建Mesos tar zxvf mesos-0.25.0.tar.gz -C /opt/ mv /opt/mesos-0.25.0/ /root/ cd /root/mesos-0.25.0 mkdir build cd build ../configure make //等待时间长(在线状态) make check make install 二、 配置Mesos-master(三台配置一样) 1.规划master主机名

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/76c77958d71f580542433b5896e1353d.html