没有合适的资源?快使用搜索试试~ 我知道了~
首页Marathon+Mesos+Zookeeper+Docker实战
资源详情
资源评论
资源推荐

美河学习在线 www.eimhe.com 收集分享
2
Marathon+Mesos+Zookeeper+Docker 实战
一、项目拓扑:
二、项目重点:
1. Apache Mesos 概述:
Apache Mesos:Apache-Mesos 是一款基于多资源(内存、CPU、磁盘、端口等)调度的开源集
群管理套件,能使容错和分布式系统更加容易使用。官方网站 http://mesos.apache.org/ ,软
件能够自由下载使用;
Apache-Mesos 采用 Master/Slave 结构来简化设计,将 Master 做得尽可能轻量级,仅保存各
种计算框架(Framework)和 Mesos Slave 的状态信息,这些状态很容易在 Mesos 出现故障
的时候被重构,除此之外 Mesos 还使用 Zookeeper 解决 Master 单点故障的问题;
Apache Mesos 专业术语:
Mesos Master:负责管理各个 Framework 和 Slave,并将 Slave 上的资源分配给各个 Framework;
Mesos Slave:负责管理本节点上的各个 Mesos Task,为各个 Executor 分配资源;
Framework:计算机框架,如:Hadoop、Spark 等,可以通过 MesosSchedulerDiver 接入 Mesos;
Executor:执行器,在 Mesos Slave 上安装,用于启动计算框架中的 Task;

美河学习在线 www.eimhe.com 收集分享
3
Apache Mesos 处理流程:
1.集群中的所有 slave 节点会和 master 定期进行通信,将自己的资源信息同步到 master,
master 由此获知到整个集群的资源状况;
2.mater 会和已注册、受信任的 Framework 进行交互,定期将最新的资源情况发送给
Framework,当 Framework 前端有工作需求时,将选择接收资源,否则拒绝;
3.前端用户提交了一个工作需求给 Framework;
4.Framework 接收 slave master 发过来的资源信息;
5.Framework 依据资源信息向 slave 发起任务启动命令,开始调度工作;
2.zookeeper 概述:
ZooKeeper 是用来给集群服务维护配置信息,提供分布式同步和提供组服务。所有这些类型
的服务都使用某种形式的分布式应用程序。ZooKeeper 是一个分布式的,开放源码的协调服
务,是 Hadoop 和 Hbase 的重要组件,在此 zookeeper 与 mesos 结合实现为 mesos 的 master
保证其单点故障问题;
ZooKeeper 角色:
领导者(leader):领导者负责投票发起和决议,更新系统状态;
跟随者(follwoer): follower 用于接收客户请求并向客户端返回结果,在选主过程参与投票;
观察者:ObServer 可以接受客户端连接,将写请求转发给 leader 节点,但 ObServer 不参加
投票过程,只同步 leader 的状态,ObServer 的目的是为了拓展系统,提高读取速度;
客户端:请求发起方;
3. Marathon 概述:
是一个 mesos 框架,能够支持运行长服务,可以实现通过 web 页面或者 api 接口实现部署
应用,比如 web 应用等。也是一种私有的 Paas,实现服务的发现,为部署提供提供 REST API
服务,有授权和 SSL、配置约束;
三、项目环境:
系统类型
IP 地址
主机名
所需软件
Centos 7.4 1708
64bit
192.168.100.101
master
jdk-8u171-linux-x64.tar.gz
marathon-0.15.2.tgz

美河学习在线 www.eimhe.com 收集分享
4
zookeeper-3.4.10.tar.gz
mesos
Centos 7.4 1708
64bit
192.168.100.102
master1
jdk-8u171-linux-x64.tar.gz
zookeeper-3.4.10.tar.gz
mesos
Centos 7.4 1708
64bit
192.168.100.103
master2
jdk-8u171-linux-x64.tar.gz
zookeeper-3.4.10.tar.gz
mesos
Centos 7.4 1708
64bit
192.168.100.104
slave1
jdk-8u171-linux-x64.tar.gz
mesos
docker-engine
Centos 7.4 1708
64bit
192.168.100.105
slave2
jdk-8u171-linux-x64.tar.gz
mesos
docker-engine
四、项目实施步骤:
配置所有节点的域名解析(在此只显示 master 节点的配置);
在所有节点进行安装 mesos 程序(在此只显示 master 节点的配置);
在所有的 master 节点上进行安装 zookeeper 程序(在此只显示 master 节点的配置);
配置 master 节点的 zookeeper 服务;
配置 master1 节点的 zookeeper 服务;
配置 master2 节点的 zookeeper 服务;
在所有的 slave 节点上进行安装 docker 程序(在此只显示 slave1 节点的配置);
在所有的 master 节点启动 zookeeper 服务;
配置所有 master 节点的 mesos 服务(在此只显示 master 节点的配置);
配置所有 slave 节点的 mesos 服务(在此只显示 slave1 节点的配置);
访问 mesos 服务 web 页面,查看节点调度信息;
在 master 单一节点上安装部署 marathon 程序;
访问 mesos 的 web 页面查看 marathon 程序节点状态;
使用 marathon 的 web 页面提交测试任务;
访问 mesos 程序的 web 页面查看测试任务的提交情况;
查看 slave 节点的任务处理情况;
使用 Marathon API 的形式添加 docker 容器 nginx:
配置所有节点的域名解析(在此只显示 master 节点的配置);
[root@master ~]# cat <<END >>/etc/hosts
192.168.100.101 master
192.168.100.102 master1
192.168.100.103 master2
192.168.100.104 slave1
192.168.100.105 slave2
剩余12页未读,继续阅读



安全验证
文档复制为VIP权益,开通VIP直接复制

评论0